Feed on
Posts
Comments

Archive for the 'php' Category

目前在 PHP 網站裡面,大部分的網站都是利用 session 的技術來達到驗證使用者帳號密碼,那 PHP 預設 SESSION 是把他寫入檔案,那 Linux 底下會放在 /tmp 裡面,你會發現網站越多人,裡面檔案就會越多,一串亂碼的檔案 sess_*,那底下是可以寫在程式裡面設定多久可以刪除這些過期的 Session 檔案
底下轉貼自:Cross-Browser Session Starter
<?php
function start_session($expire = 0)
{
    if ($expire == 0) {
        $expire = ini_get('session.gc_maxlifetime');
    } else {
        ini_set('session.gc_maxlifetime', $expire);
     }

    if (empty($_COOKIE['PHPSESSID'])) {
        session_set_cookie_params($expire);
        [...]

Read Full Post »

這算是大家都知道的技術了吧,因為說實在的,留言板惡意灌水實在是太容易了,就算是檔檔 referer 也是沒用,因為表頭可以自己偽造,那最好的方法就是用 PHP 驗證碼的機制,這個機制利用 GD 縮圖的部份,然後再把驗證數字存放在 SESSION 裡面,不過 PHPBB 的作法是存在 database 資料庫裡面進行比對,然後在 delete 該比資料,畢竟每個連線都有自己的 ssid 的值,所以這樣進行比對,我想是不錯的方法,也可以用在很多地方,那底下是我去 Jax 的工作紀錄 看到的一篇:PHP 驗證碼,拿過來筆記一下。
首先先去 Windows 底下的 Fonts 資料夾,選一個字型吧,因為裡面會用到喔,不然底下這一段 code 會用到
imagettftext($im, 20, 0, 25, 35, $Color,"arial.ttf",$verification__session);
/*
imagettftext (int im, int size, int angle,
int x, int y, int col,
string fontfile, string text)
im 圖片物件
size 文字大小
angle 0度將會由左到右讀取文字,而更高的值表示逆時鐘旋轉
x y 文字起始座標
col 顏色物件
fontfile 字形路徑,為主機實體目錄的絕對路徑,
可自行設定想要的字型
text 寫入的文字字串
*/

Read Full Post »

在台大 ptt BBS 上面看到有人推文上傳功能可以交給 pear HTTP_Upload 來跟 PHP 搭配使用,自己去看了一下官方線上文件,教學還蠻容易的,大概看過範例就可以瞭解了,上傳之後的檔案,在搭配之前我寫的 [PHP] header下載檔案 搭配資料庫
* Can handle from one file to multiple files.
* Safe file copying from tmp dir.
* Easy detecting mechanism of valid upload, missing upload or error.
* Gives extensive information about the uploaded file.
* Rename uploaded files in different ways: as it is, safe or unique
* [...]

Read Full Post »

[PHP]好用的FCKeditor

最近在玩這一套 FCKeditor 線上 HTML 編輯系統,這目前很多 opensource 都有利用這一套編輯系統來搭配,我覺得還蠻方便的,所以很多後台或者是前台都會使用,我想這已經是現在的趨勢了,然而要安裝這個也相當容易,官方網站都寫的很清楚,可以先使用他們線上的 demo,如果要加入到自己的系統,他們也有提供一些文件讓大家參考:線上文件,其實他們支援各大語法:asp,php,Python... 一堆,安裝方法也很容易,底下寫一下安裝方法:
1. 首先先下載 FCKeditor 這一套軟體:
點我下載 目前是這個版本:FCKeditor_2.6.3.zip
2. 裡面有一些 sample 可以使用 fckeditor/_samples/default.html
3. 如果你要使用在自己的系統裡面起加入底下語法:
$root_path = './';
include($root_path . "fckeditor/fckeditor.php");
$sBasePath = "fckeditor/";

//實體化  FCKeditor  並指定欄位名稱
$oFCKeditor  =  new  FCKeditor('file_data');
$oFCKeditor->BasePath = $sBasePath;

//預設的語言,zh表繁體中文
$oFCKeditor->Config['DefaultLanguage'] = 'zh';

//預設填入的內容
$oFCKeditor->Value = '<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>' ;

//直接輸出FCKeditor表單
$oFCKeditor->Create();
基本上這樣大致上就完成了喔。很容易吧

Read Full Post »

嗯嗯,我自己的 blog 有在寫美食,就會有美食地點,當然我覺得把 google map api 整合進來,是不錯的方法,其實 google map 也提供了只要輸入地址,就可以直接幫妳對應經度跟緯度的值,這樣就可以利用 ajax 的技術把資料庫裡面的地址都加上 google map 了,至少之前 高雄線上 是這樣加上所有店家資訊的地址 google map,其實要使用 google map 相當容易,其實妳只要按照下面步驟就可以了:

Sign up for a Google Maps API key.
Read the Maps API Concepts.
Check out some Maps API Examples.
Read the Maps API Reference.

Read Full Post »

話說大家在寫 PHP 的時候,一定會很常用到 mail 這個函式,畢竟一個網站一定會有很多需要用到寄信的地方,我先給大家推薦一下 PEAR::Mail_Mime 跟 PEAR::Mail 這兩個 Pear 的套件,用起來相當不錯,支援 html 跟 UTF-8 或者是 Big5 編碼,我之前寫過一篇 [PHP] 好用的 PEAR - PHP Mail and Mail_Mime,裡面寫的還蠻詳細的,不過上次有一個問題還沒解決,就是如果用 UTF-8 編碼的標題,會顯示不出來,Gmail 收到的話就會是 no subject,然後昨天用了一個非常笨的解決方法,改成把標題使用 Big5 就可以了,解決方法如下:
Update:感謝 darkhero 提供解決方法:
如果要用 UTF-8 的標題:
$param['head_charset'] = 'utf-8';
  $hdrs = array(
                'From'    => 'appleboy.tw@gmail.com',
        [...]

Read Full Post »

最近很紅的一個 Yahoo API:Browser-Based Authentication,這是目前蠻多網站開始支援的認證之一,在 XDite 網站看到他們去參加 Yahoo Open Hack Day 的參賽作品:「和多繽紛樂」XDite 網站說明,裡面就有提供 OpenID 以及 Yahoo BBAuth 登入方式,等於是說目前你有 Yahoo 帳號或者是 OpenID 的帳號都可以直接進去 和多繽紛樂 做登入動作,這對於有使用者不使用註冊這麼多網站,也記太多帳號密碼而煩惱,而 Browser-Based Authentication 也提供了 Single Sign-On (SSO) 給大家使用,底下是大概講解一下 Yahoo BBAuth 是如何運作:

Read Full Post »

最近開始摸了 jQuery,因為自己本身也很想學習,這是目前當紅的技術,許多網站已經開始在使用 jQuery AJAX 了,包含各大入口網站:Pixnet 痞客幫,大家會發現學習 jQuery 好處很多,重點是她將 javascript 整合了,讓你方便使用來讓網站 web 2.0 我想現在很多網站都是朝這個方向去進行了,如果想知道什麼是 AJAX 可以上網查維基百科解釋,已目前來說,大家都使用javascript 客戶端來取得資料,然而 AJAX 可以從Server端取的資料 show 在使用者端給大家看,底下會大概講解以及實做一個驗證。

Read Full Post »

今天把 FreeBSD web 改成了 apache worker 其實之前就已經這麼做了,只是今天加上 mod_fastcgi 我是參考 DarkKiller 大神 apache22 (worker) + mod_fastcgi + php5-fcgi,之前就把 Server 換成了 php5-fcgi,只不過我是搭配 Lighttpd,效能方面還不錯,可以參考這篇:[FreeBSD] Lighttpd + PHP + mod_proxy + FastCGI,那因為用 lighttpd 的外掛模組真的太少,不像 apache 支援這麼多 module,重點是還缺少了 .htaccess 這個功能,所以大大降低大家使用 lighttpd,近期內會把全部 server 換成 apache2 搭配 mod_fastcgi,那底下寫一下作法了:

Read Full Post »

今天從嘉義跑到台南聽 酷!學園 舉辦的 2008八月份 SA@Tainan PHP 程式設計 - 初階資訊安全(8/30) ,今天一大早就起床了,差點沒趕上火車,到了台南地點在社區大學,其實蠻近的,大概騎車5分鐘就到了喔,其實不會很趕,到了現場,第一次看到梁楓大大阿,感覺很有威勢,我看現場年齡層分佈好像很廣,有很多都是長輩了,不過大部分還是學生為主,然後我想大概有很多是工作人員,其實我都不太認識,我大概只知道梁楓大大,因為在酷!學園也一段時間了,哈哈,今天講的主題,我非常的有興趣,我看投影片還蠻多的,可是都是跳著講,然後一些實做的部份,然後最後一小時是在解如何拿到 Linux 的主機 /etc/passwd 的資訊。

Read Full Post »

Next »