服务器 
首页 > 服务器 > 浏览文章

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

(编辑:jimmy 日期: 2024/9/21 浏览:3 次 )

防止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服务器下配置个性二级域名及多个域名的实例讲解
下一篇:tomcat虚拟路径的配置方法汇总
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。