→ clifflu:改個標題吧, magic_quote 和這標題是完全無關的 XD 01/08 16:53
※ 引述《clifflu (缺錢啦 @@)》之銘言:
: ※ 引述《picachuxyz (XHTML&CSS&PHP)》之銘言:
: : 從<textarea>表單寫入資料庫的資料
: : 可以防止寫入html標籤或js程式嗎?
: : 如果不行,資料庫裡面的資料有html標籤或js程式
: : 怎麼防止在網頁上產生效果?
: : <code>嗎?
: : 還是? 謝謝
: htmlspecialchars()
: 另外對怕 user data 干擾 php code 所用得則是 addslashes()
: 而 addslashes 又可能因開啟 magic_quote 受到影響 (而變成不需要用 @@)
說到magic_quote,在php.ini中有分三設定
# magic_quotes_gpc
顧名思義就是對GET、POST、Cookie的資料做addslashes的動作
gpc是以上三個字的縮寫,預設值是開啟
# magic_quotes_runtime
對PHP之外進來的資料(例如資料庫、文字檔)做addslashes的動作
預設值是關閉
# magic_quotes_sybase
用'來取代\作為跳脫字元,預設值也是關閉
奇怪的是,在php.ini的註解中說關閉magic_quotes_gpc可以增加效能
但是說實話,在開發程式的時候
基本上只要是GET、POST、Cookie的資料幾乎都要做addslashes的動作
(現在無聊的駭客很多)
所以我想就算開啟magic_quotes_gpc,效能也不會差太多
又可以得到比較整潔的程式碼,建議大家在開發程式的時候開啟這個選項
補充說明,要知道伺服器有沒有開啟magic_quotes_gpc
可以使用get_magic_quotes_gpc()函數
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.74.116