❶ 留言板防灌水功能應該怎麼做怎麼防止sql注入用PHP編寫
防灌水:
對無意義帖判定,比如:字數太少,純數字,無意義的連續數字或字母。
發帖時間間隔和發帖量
系統設置一批關鍵詞匹配,發現有類似的先設為需審核 ,由後台手動操作。
防sql注入
先對提交數據中的危險字元過濾或編碼。比如:名稱或帖子標題,一定不能是html,直接進行htmlencode ,最後輸出到頁面上,也不會變成html,而是顯示原始字元。對需要使用html的內容部分,過濾script,style等標簽,或者直接用strip_tags 函數只保留必要的段落等排版標簽。
其次也可以考慮使用bbcode或markdown等對排版有限制的語法轉義
資料庫操作使用pdo參數編譯的模式,可以有效防止提交數據中的注入字元(會變成正常字元插入到資料庫中,這也可以防止誤判,因為很多IT類的技術帖需要在內容中有這些關鍵字)