2008年8月4日 星期一

Post 失敗

是的,你沒有看錯!

想不到玩PHP這麼多年了,結果重新在新的系統執行程式時,竟然連最基本的 POST 功能都失敗,簡直是不可思議!

以『PHP POST 失敗』 Google 了半天,卻找不到有用的資訊,就在快放棄的時候,看到一個 MashiMaro's Blog 中就有解釋。

簡單的說,在 PHP 4.0 以前, POST 的變數可以直接在接收 (action) 的檔案下直接使用,但是基於安全考量,之後的版本建議採用 $_POST[變數名] 的作法,來存取變數資料,如果不想用這種稍微比較麻煩的作法,那就必須在 php.ini 的 register_globals 參數修改,將 register_globals = Off 改成 register_globals = Offregister_globals = On 。

如此就可以繼續使用 PHP4.0 以前的作法了!

只是, php.ini 裡面有說到:
You should do your best to write your scripts so that they do not require
register_globals to be on; Using form variables as globals can easily lead
to possible security problems, if the code is not very well thought of.

所以,要不要改,就必須要仔細斟酌了!

沒有留言: