SQL注入產生的原因:程序開發過程中不注意規范書寫sql語句和對特殊字符進行過濾,導致客戶端可以通過全局變量POST和GET提交一些sql語句正常執行。 防止SQL注入:
1、開啟配置文件中的magic_quotes_gpc和magic_quotes_runtime設置
2、執行sql語句時使用addslashes進行sql語句轉換
3、Sql語句書寫盡量不要省略小引號和單引號
4、過濾掉sql語句中的一些關鍵字:update、insert、delete、select、*
5、提高數據庫表和字段的命名技巧,對一些重要的字段根據程序的特點命名,取不易被猜到的。
6、Php配置文件中設置register_globals為off,關閉全局變量注冊
7、控制錯誤信息,不要再瀏覽器上輸出錯誤信息,將錯誤信息寫到日志文件中。
了解XSS攻擊嗎? 如何防止 ?
XSS是跨站腳本攻擊,首先是利用跨站腳本漏洞以一個特權模式去執行攻擊者構造的腳本,然后利用不安全的Activex控件執行惡意的行為。使用htmlspecialchars()函數對提交的內容進行過濾,使字符串里面的特殊符號實體化。