php教程 防止注入的幾種辦法
其實原來就是我們需要過濾一些我們常見的關鍵字和符合如:
select,insert,update,delete,and,*,等等
例子:
function inject_check($sql_str) {
return eregi('select|insert|update|delete|'|/*|*|../|./|union|into|load_file
|outfile', $sql_str); // 進行過濾
}
或者是通過系統函數間的過濾特殊符號
addslashes(需要被過濾的內容)
二、 php其他地方安全設置
1、register_globals = off 設置為關閉狀態
2、sql語句書寫時盡量不要省略小引號和單引號
select * from table where id=2 (不規范)
select * from ·table· where ·id·=’2’ (規范)
3、正確的使用 $_post $_get $_session 等接受參數,並加以過濾
4、提高數據庫教程命名技巧,對於一些重要的字段可根據程序特點命名
5、對於常用方法加以封裝,避免直接暴露sql語句