我寫了一個腳本,當你輸入一個文本框時,它將打開一個隱藏的iframe到一個.php文件中,並在$ _GET中寫入到文本框中。但是,例如,如果我在其中鍵入:'< 3',則會發生這種情況。
PHP determins了$ _GET [s]是一片空白!用戶不能把一個簡單的符號,而不會得到這個錯誤。
另一個問題是引號,如果我寫任何引號,它會結束整個SRC屬性。
我應該怎麼辦?我應該用JavaScript還是PHP做些什麼?請告訴我!
謝謝!
我寫了一個腳本,當你輸入一個文本框時,它將打開一個隱藏的iframe到一個.php文件中,並在$ _GET中寫入到文本框中。但是,例如,如果我在其中鍵入:'< 3',則會發生這種情況。
PHP determins了$ _GET [s]是一片空白!用戶不能把一個簡單的符號,而不會得到這個錯誤。
另一個問題是引號,如果我寫任何引號,它會結束整個SRC屬性。
我應該怎麼辦?我應該用JavaScript還是PHP做些什麼?請告訴我!
謝謝!
它看起來像您的iframe是由JavaScript生成的,所以所有包含PHP函數的答案都是無用的。數據甚至沒有達到PHP,所以任何PHP函數希望如何幫助?
相反,請嘗試使用urlencode
from PHPJS,因爲沒有一個JS的函數能夠真正處理所有情況,並且這使得您可以輕鬆使用PHP的urldecode
來檢索數據。
使用urlencode將輸入的字符串編碼爲有效URL以供URL使用。
也是非常謹慎當允許用戶輸入到您的PHP腳本通過URL。確保你做了適當的檢查/消毒,特別是涉及數據庫操作時。
您需要將該字符編碼爲<
。
關於雙引號,你可以使用這個技巧。
attr='Your string can "contain double quotes"'
或
attr="Your string can 'contain double quotes'"
但同時指定在URL variable=values
,你並不需要用戶雙引號,您可以直接分配的值。
像
url="test.php?var1=123&var2=345"
其餘約發送< 3個字符,你可以在javascript & PHP取其適用檢查URL編碼!
您沒有向我們顯示任何代碼。一般來說,在從PHP返回用戶提交的數據之前,您應該在其上調用'htmlspecialchars'。 – Jon 2012-02-22 08:26:41
你試過編碼文本嗎? – spicavigo 2012-02-22 08:26:48