防止sql注入最好的办法是对于提交后台的所有数据都进行过滤转义。

对于简单的情况,比如包含单引号' , 分号;, <, >, 等字符可通过rewrite直接重订向到404页面来避免。

用rewrite有个前提需要知道,一般用rewrite进行正则匹配只能匹配到网页的URI,也就是url中"htmlcode">

/plus/list.php"htmlcode">
if ( $query_string ~* ".*[;'<>].*" ){
return 404;
}

下面来分享一个配置文件实例:

server {
## 禁SQL注入 Block SQL injections
set $block_sql_injections 0;
if ($query_string ~ “union.*select.*(“) {
set $block_sql_injections 1;
}
if ($query_string ~ “union.*all.*select.*”) {
set $block_sql_injections 1;
}
if ($query_string ~ “concat.*(“) {
set $block_sql_injections 1;
}
if ($block_sql_injections = 1) {
return 444;
}
## 禁掉文件注入
set $block_file_injections 0;
if ($query_string ~ “[a-zA-Z0-9_]=http://”) {
set $block_file_injections 1;
}
if ($query_string ~ “[a-zA-Z0-9_]=(..//"WebBench") {
    set $block_user_agents 1;
  }
  if ($http_user_agent ~ "ApacheBench") {
    set $block_user_agents 1;
  }
  if ($http_user_agent ~ ^$) {
    set $block_user_agents 1;
  }
  if ($http_user_agent ~ "Python-urllib") {
    set $block_user_agents 1;
  }
if ($block_user_agents = 1) {
return 444;
}
}

标签:
Nginx,SQL注入,配置,Nginx配置

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“Nginx中防止SQL注入攻击的相关配置介绍”

暂无“Nginx中防止SQL注入攻击的相关配置介绍”评论...