Skip to content

Zeroplex 生活隨筆

軟體開發和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: 程式設計

pear Crypt_RSA error

Posted on 2007 年 5 月 16 日2021 年 3 月 12 日 By 日落 在〈pear Crypt_RSA error〉中有 2 則留言

今天用 pear 的 Crypt_RSA 套件想弄一個密碼機,結果手氣似乎不是很好。

$method = new Crypt_RSA();
$method->encrypt($string);

這時出現一個錯誤訊息:

Fatal error: Call to a member function getExponent() on a non-object in C:AppServphp5PEARCryptRSA.php on line 365

問題是出在套件的程式碼上面,意思是呼叫了一個非物件的函式。用錯誤訊息到網路上面,居然只有找到 big_int、gmp 的資料,其他的居然沒有相關的解決方法!

難道是我手氣真的很差,居然在 stable 版的程式遇到一個全世界不到十個人遇到的問題!?

ps. 找出解決方法再更新…….

Tags:程式設計

PHP 梨子

Posted on 2007 年 5 月 7 日2021 年 3 月 12 日 By 日落 在〈PHP 梨子〉中有 1 則留言

Pear PHP 是一個專門用來快速開發 PHP 程式的函式庫,包含驗證、資料庫、HTML Form等等。有了這些函式庫,大部分常用的功能都不必在自己動手寫,甚至連 HTML 的 JavaScript 都幫你做好了。

你如果有在寫 PHP,應該對 AppServ 也分常熟悉。其實 AppServ 已經偷偷放了 Pear PHP 的安裝批次檔,會自動幫你從網路上把 Pear 函式庫的檔案放置到預設位置,只要在 php.ini 中稍微改一下,就可以開始使用 Pear 函式庫,過程不到五分鐘!

首先到 AppServphp5 目錄下,會找到 go-pear.bat 批次檔,點二下執行。安裝過程中全部使用預設值就可以了。

待結束,開啟 windowsphp.ini,看看檔案最後方是不是已經加入:

;***** Added by go-pear
include_path=".;C:AppServphp5pear"
;*****

有的話,在寫程式時就可以不必在 require 時打入函式庫的絕對位址,直譯器會自動幫找到對應的位置。

Tags:PHP, 程式設計

CakePHP 中文教學手冊

Posted on 2007 年 5 月 4 日2021 年 3 月 12 日 By 日落 在〈CakePHP 中文教學手冊〉中有 2 則留言

CakePHP 是有點類似 Ruby on Rail 的套件,有很多已經寫好的函式庫可以使用,要快速開發一個系統,用 CakePHP 會非常有幫助!

這是我找到的一個中文手冊,寫的簡單明瞭,適合第一次接觸 CakePHP 的人閱讀。

http://www.ezluk.org/Posts/chapter/0

Tags:PHP, 程式設計

不安全的投票系統

Posted on 2007 年 4 月 26 日2021 年 3 月 12 日 By 日落 在〈不安全的投票系統〉中尚無留言

今天碰巧遇到一個不安全的投票系統,被我抓到幾個漏洞惡搞,順便做一下筆記免得自己以後也犯了這個錯誤。

下圖是一個幼稚園的「親子臉」比賽,總投票人數已經超過 70 萬人,第一名還有 50 萬票,如果這是真的,我看他以後可以準備去選總統了。

錯誤一:沒有鎖 IP
嚴謹的網路投票系統,至少會對已投票的 IP 進行封鎖,雖然 ADSL 用戶斷線重新連線後可以取得新的 IP,但是可以減少做票的可能性。這個投票系統是使用 cookies 當作以投票的依據,但是 cookies 可以刪除,甚至我可以讓瀏覽器不儲存 cookies,這樣不是很容易做票嗎?

錯誤二:後端沒有做驗證
其實在網頁上面已經用 JavaScript 寫好一人只能選二票的規則,但是我可以把網頁另存新檔以後在改寫,把 JavaScript 全部修掉讓表單資料直接送出,很容易做到。

因為前端做了檢查後端就直接處理資料,實在是很粗心大意。因為如此,我可以用 JMeter 直接把資料用 POST 的方式送出去讓他處理,另外我發現更好玩的事情:他用無限迴圈處理資料直到結束才跳出迴圈,所以我可以一次送出超過投票選項數量的資料,明明只有 23 個選項,我一次送出 500 個結果,他照樣新增進資料庫裡一點都不懷疑。

大家應該知道 JMeter 是什麼東西,用了以後的結果就是:他的伺服器性能每秒能處理 250 query 左右,還算不錯。 :P

Tags:程式設計, 資訊安全

用 Java 寫 C 語言的 system pause

Posted on 2007 年 3 月 31 日2021 年 3 月 12 日 By 日落 在〈用 Java 寫 C 語言的 system pause〉中有 6 則留言

C 語言中 stdlib.h 函式庫中有提供一個 system() 函式讓使用者可以直接對作業系統下指令,但是 Java 裡面似乎沒有這類的函式,所以執行文字介面的 Java 程式並沒辦法使用 system(“pause”) 讓程式暫停。

C 語言中除了用上面的方式暫停,也可以使用 getc() 來等待輸入,所以 Java 可以利用這點來達到暫停的效果。

下面這段程式是以 System.in.read() 函式來等待輸入。

public class wait{

public static void main(String[] args){
System.out.print("Press enter to exit....");
try{
System.in.read();
}catch(Exception e){};
}
}

你也可以使用 Scanner 來接收輸入。

import java.util.Scanner;

public class wait{
public static void main(String[] args){
int a,b;
Scanner input = new Scanner(System.in);
System.out.print("Press enter to exit....");
input.hasNextLine();
}
}

這樣程式要按下 Enter 鍵才會結束關閉。但是這個寫法有個缺點,就是如果按其他的按鍵沒有作用,也就是只能按 Enter 鍵才會結束,其他的則會顯示在螢幕上面直到 Enter 鍵被按下。

Tags:程式設計

文章分頁

上一頁 1 ... 12 13 14 15 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Raspberry Pi Ubuntu Unix Vim Web Windows XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.