2 回答

TA貢獻1796條經驗 獲得超4個贊
1.防止表單重復提交,1.用表單令牌可以解決,2.點擊提交按鈕后,立即禁用button按鈕
2.防止表單提交多余的數據, PHP 接收POST的時候,需要過濾,哪些是表單的,哪些的用戶構造的
3.防止SQL注入,進行類型強制轉換和采用PDO綁定參數方式操作數據庫(參見thinkphp數據庫類)
4.防止XSS攻擊,需要過濾掉 <script> <iframe>等危險的HTML代碼(參見thinkphp的 I 函數)
5.防止csrf攻擊,每次進行增刪查改之前,驗證一個token 即可(參見Yii2的寫法)
你要問代碼的話, 問問題千萬不要直接要代碼,只能你貼出你的代碼,讓我們幫你排錯,拒絕伸手黨,肯定是沒有的,這都是結合各個優秀的框架和開源項目積累總結的
代碼的話,可能要寫好久好久

TA貢獻2039條經驗 獲得超8個贊
首先在客戶端通過JS進行初步數據過來是有效的手段,但是請注意,一切在客戶端進行的驗證都是非安全的,都是可以繞過的
然后是在代碼層進行數據過濾,例如php有些函數可以用來進行一些簡單的過濾操作:
strip_tags 可以去掉文本內容中的所有html標簽
htmlspecialchars 可以對文本內容中的html標簽進行轉義
addslashes 可以對內容中的特殊符號進行轉義
這些函數可以進行初步過濾,然后具體的內容就需要自己編寫相應的規則了,例如清除js代碼或者其他的敏感詞匯,需要自己編寫對應的正則進行替換
最后則是在執行sql時進行一些安全操作,如pdo的預處理等
添加回答
舉報