2011-11-03 56 views
3

我有一個PHP頁面通過$ _POST從HTML表單接收輸入。 $ _POST中的字符串帶有'\'轉義的引號和反斜槓。我不知道還有什麼會逃脫/編碼。我想要的是用戶輸入的內容(理想情況下爲UTF-8),我確信有一些簡單的功能可以完成此操作,但我不確定哪個是正確的。

我知道,當我將它插入到數據庫中或者在某些HTML中返回它時,我必須小心謹慎,但在我的代碼中,我想準確掌握用戶輸入的內容。

編輯:magic_quotes_gpc正在逃避一些事情,但即使刪除後,我仍然得到HTML實體像Ą從$ _POST。有沒有簡單的方法將$ _POST解碼回原始用戶輸入(最好是UTF-8)?

+1

安全正確地處理帖子數據是一個「非常狹窄的情況」嗎?我無法相信SO上有多少個好問題。 – doug65536

回答

5

嘗試PHP的stripslashes函數。

只是一個側面說明,它聽起來像你有magic_quotes_gpc上,這不建議出於安全原因,它甚至在更高版本的PHP中刪除。

+0

那麼magic_quotes_gpc是什麼逃避我的東西?我該如何解決這個問題? – Matt

+0

是的,最有可能的。這是PHP中的一個配置選項,下面是關於它的更多信息:http://php.net/manual/en/security.magicquotes.php – nickb

1

看起來我沒有在窗體頁面上將字符集正確設置爲UTF-8。當我糾正這一點,一切都結束了。