目前日期文章:200806 (8)

瀏覽方式: 標題列表 簡短摘要
過濾XSS的function







原始網站: http://quickwired.com/smallprojects/php_xss_filter_function.php

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP 過濾器: PECL Input Filter

過濾用戶輸入一直也是 web 應用很重要的安全工作,在 PHP 內除了自行編寫過濾特別字符串的程式外,也可以用現成的 PECL extension: Input Filter extension。要使用這個 extension 需要在 shell 輸入以下指令安裝:

pecl install filter

以下例子假設有一張表單,裡面有兩個欄位: name, age 及 email。而我們希望 name 會用字串;age 是數字;email 就是電郵格式,那麼便可以這樣做:


以上會使用 filter_input 函式來過濾輸入,如果輸入是合符規定,會回傳沒有改動的變數;如果不符合規定,便會回傳 FALSE,而如果變數不存取便會回傳 NULL。

如果不想回傳 FALSE,而是回傳經過處理的輸入,假設 $_POST['name'] 是 "<b>My Name</b>" 可以這樣做:


kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL 字串連接

有時我們需要將不同欄位的資料連接,或者在現在的資料後面加入內容,當然可以先從 MySQL 匯出資料,再把連接好的字串更新到 MySQL,但這未免太麻煩,另一個較方便的方法是借助 CONCAT() 實現,CONCAT() 語法為:

CONCAT(string_1, string_2, string_3, ...)

MySQL 的 CONCAT() 支援多個字串連接,但在 Oracle 裡面只可以有兩個參數,要實現多個字串連接可以用 '||' 來實現。以下是 CONCAT() 的使用實例:

update `table_name` set `email`=CONCAT(`email`, ':me@email.com') where id='1';

以上 SQL 語法會更新 table_name 資料表的 email 欄位,在原本的資料後面加入 ':me@email.com'

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

測試網站在流動裝置的外觀

現在流動上網越來越流行,而現在的流動上網裝置不一定是 laptop,有可能是 PDA 或手機。如果要開發一個給 PDA 及手機使用的系統,要測試網頁的呈現效果可有幾種方法:

1. 調較視窗大小
只需將瀏覽器的視窗大小縮小成與流動裝置一樣,那就可以測試,Firefox 有一個很好的 Add-on 是 Web Developer 可以較鬆實現。以下是一些流動裝置的大小:

* 176 x 208
* 240 x 160
* 320 x 240

2. 模擬器
可以安裝一些模擬器,而很多流動裝置瀏覽器的廠商也有提供 windows emulators:

* WinWap Smartphone Emulator
* OpenWave Browser
* Nokia Browser Simulator
* Microsoft Pocket PC Emulators
* Online Mobile Simulator
* Online WAP Browser

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP中製作驗證圖片

今天推出驗證圖片的功能
每一行的指令都有加上註解
下面各項參數最佳化於100X30的尺寸
如有變更驗證圖片的長寬
參數需要自行修正


kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP中檢查字串是否含有非中文字




kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

善用 ignore_user_abort() 函式

話說最近在為了上傳圖片經過縮圖的時間來煩惱,只不過我在想,為甚麼我上傳圖片還要等待縮圖時間才可以,然而無名小站,只需要上傳時間,縮圖是在它機器背景執行,後來發現一個函式非常好用,那就是

ignore_user_abort(true);


http://tw2.php.net/manual/tw/function.ignore-user-abort.php


無名在上傳圖片的php檔案,肯定有加上這個函式,他的好處是使用者如果關掉瀏覽器,但是php還是會繼續執行,也就是無名可以把檔案上傳之後,重新導向到使用者的相簿,程式可以如下




kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP4
putenv("TZ=Asia/Taipei");

PHP5
date_default_timezone_set( "Asia/Taipei" );

或是在 php.ini 設定:
date.timezone = Asia/Taipei

(PHP 5.1 起,主機不論是不是在國外都要設定)

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論