我遇到了一個特殊字符問題,我使用該腳本執行命令向我的遊戲服務器發送用戶名以獎勵他們進行投票。如何從GET提交中刪除特殊字符
<form action="index.php" method="GET"> <input type="submit" value="Submit" /> </form>
它提交到正確的信息特殊字符和所有的數據庫 - 但是當執行到我的遊戲服務器就否定了特殊字符,他們可以通過使用名稱Testusername /或Testusername濫用它//和每天獲得多個獎勵。
我試過使用隱藏類型,但我的系統無法使用POST。
任何想法?我很無奈。
編輯*
任何0-9 _ AZ字符允許的特殊字符爲!@#$%^ * &()_ +} {}等我使用逃生字符串和我不擔心sql注入我嘗試了多種消毒方式,他們都失敗了。我使用的是mySQL,但不是用於發送作爲日誌的獎勵,並且驗證在過去24小時內沒有投票並阻止他們再次進行投票的用戶。基本上說,他們投票用戶名測試,並得到他們的獎勵和投票用戶名測試/和它說測試投票再次遊戲和接收X2獎勵
你是什麼意思的特殊字符?喜歡......口音? UTF-8?或者像*&^ $這樣的字符! @#)({} []等等?你真的需要小心在數據庫中允許使用特殊字符,確保使用php的內建函數來保護你的SQL免受注入。[mysqli_escape_string()](http:/ /us3.php.net/manual/en/function.mysqli-escape-string.php) [stripslashes()](http://us3.php.net/manual/en/function.stripslashes.php)我們真的需要更多的信息來幫助你從你給我們的總體概述來看,問題出在邏輯本身上如果你使用的是MySQ – CrazyVipa 2012-07-16 17:50:28
你知道遠程服務器上允許使用哪些字符和序列嗎?你可能需要將允許的字符列入白名單,而不是刪除特定的字符,數據的來源(GET/POST)是無關緊要的,這將有助於更多地瞭解:*「當執行到我的遊戲服務器時否定特殊字符「* – 2012-07-16 17:56:54
http://www.youtube.com/watch?v=T15IkJhVpvg有趣的過濾教程,FYI。 – Brant 2012-07-17 19:58:19