nginx防止sql注入的方法:
1.對于提交后臺的所有數據都進行過濾轉義。
2.數據庫中的用戶密碼需加密存放。
3.php程序進行二次過濾,過濾GET和POST變量中的關鍵字。
4.生產環境關閉PHP和MySQL的錯誤信息。
5.一般問號后面的請求參數,在nginx用$query_string表示,例如:
if ($host = 'sznxb.cn' ) {
rewrite ^/(.*)$ http://www.sznxb.cn/$1 permanent;
}
if ($request_uri ~* "(cost\()|(concat\()"){
return 404;
}
if ($request_uri ~* "[+|(%20)]union[+|(%20)]"){
return 404;
}
if ($request_uri ~* "[+|(%20)]and[+|(%20)]"){
return 404;
}
if ($request_uri ~* "[+|(%20)]select[+|(%20)]"){
return 404;
}
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}