当前位置: 首页 > wzjs >正文

网站服务器租用阿里云一年多少钱啊深圳大浪网站建设

网站服务器租用阿里云一年多少钱啊,深圳大浪网站建设,秦皇岛建设网站,网站框架图怎么做需求 客户的一个老项目被相关部门检测不安全,报告为sql注入。不想改代码,改项目,所以想到利用nginx去做一些数据校验拦截。也就是前端传一些用于sql注入的非法字符或者数据库的关键字这些,都给拦截掉,从而实现拦截sql…

需求

客户的一个老项目被相关部门检测不安全,报告为sql注入。不想改代码,改项目,所以想到利用nginx去做一些数据校验拦截。也就是前端传一些用于sql注入的非法字符或者数据库的关键字这些,都给拦截掉,从而实现拦截sql注入的功能。以下示例是校验body中的JSON数据,如果符合正则表达式,则给拦截

什么是OpenResty

OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

OpenResty® 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。

OpenResty快速实操(拦截SQL注入示例)

先下载

OpenResty - 下载

可以理解为下载后是一个免安装版的nginx

1、解压后,配置nginx.conf

server {listen 8888;server_name localhost; # 或者您的实际域名/IP 地址#前端项目# 默认读取 bodylua_need_request_body on;location /validate {# 过滤requestParam 中的 非法参数,返回403if ($query_string ~* ".*('|--|union|insert|drop|truncate|update|from|grant|exec|where|select|and|chr|mid|like|iframe|script|alert|webscan|dbappsecurity|style|WAITFOR|confirm|innerhtml|innertext|class).*"){ return 403; }# 过滤 requestBody中的非法参数rewrite_by_lua_file lua/hwj/checkSqlInject.lua;proxy_pass https://qq.com;}}

2、创建一个校验前端请求参数的 lua文件

-- 声明读取body内容
ngx.req.read_body()
-- 获取body内容
local body = ngx.req.get_body_data()
-- 判定请求类型(只处理post请求)
if ngx.var.request_method == "POST" and body ~= nil then-- 声明正则local regexWord = "(.*?((\\bunion\\b)|(\\binsert\\b)|(\\bdrop\\b)|(\\btruncate\\b)|(\\bupdate\\b)|(\\bfrom\\b)|(\\bgrant\\b)|(\\bexec\\b)|(\\bwhere\\b)|(\\bselect\\b)).*?){1,}"-- 使用body进行正则匹配local word = ngx.re.match(body, regexWord)if word then-- 匹配成功,说明请求体中包含敏感内容,返回403ngx.log(ngx.ERR,"this request body contain the sql inject,this is dangerous! body = " .. body)ngx.exit(ngx.HTTP_FORBIDDEN)endlocal regex = "(.*?((')).*?){1,}"-- 使用body进行正则匹配local danyin = ngx.re.match(body, regex)if danyin thenlocal regex2 = "(='.+')|( *'.+')";local mm = ngx.re.match(body, regex2)if not mm then-- 匹配成功,说明请求体中包含敏感内容,返回403ngx.log(ngx.ERR,"this request body contain the sql inject,this is dangerous! body = " .. body)ngx.exit(ngx.HTTP_FORBIDDEN)endend
end

3、启动nginx,并使用apifox测试

返回403说明成功拦截,展示qqcom页面就说明不拦截


文章转载自:

http://3Y21b4sB.tqqfj.cn
http://r0PZjqlC.tqqfj.cn
http://kGURUjYO.tqqfj.cn
http://k5v1CJsN.tqqfj.cn
http://DPSTJVPH.tqqfj.cn
http://lJimlEaa.tqqfj.cn
http://UMSuVfNO.tqqfj.cn
http://ynZPB0B8.tqqfj.cn
http://LTbn7Q6F.tqqfj.cn
http://u7pB8kte.tqqfj.cn
http://KWyvftjh.tqqfj.cn
http://feS3GbEl.tqqfj.cn
http://6CySlk5A.tqqfj.cn
http://Ag8E2dys.tqqfj.cn
http://xiv1NBx4.tqqfj.cn
http://VTmzdb2d.tqqfj.cn
http://5H1sPt48.tqqfj.cn
http://3mM7TXuW.tqqfj.cn
http://hEC9ilSm.tqqfj.cn
http://eIexLwHi.tqqfj.cn
http://jUC3xmUS.tqqfj.cn
http://xQn24r9v.tqqfj.cn
http://qy0kPlj1.tqqfj.cn
http://DoK0JEY1.tqqfj.cn
http://D79be0HL.tqqfj.cn
http://Lk93Kpcl.tqqfj.cn
http://cehPb0hN.tqqfj.cn
http://sZIZR0yX.tqqfj.cn
http://3iPtzSEV.tqqfj.cn
http://URPQHcOm.tqqfj.cn
http://www.dtcms.com/wzjs/717668.html

相关文章:

  • 网站设计如何收费wordpress微信捐赠
  • 株洲网站制作与设计网站服务器容器
  • 做添加剂的外贸网站有哪些廊坊网站建设解决方案
  • asp.net门户网站项目怎么做制作网站的收获体会
  • 做别人公司的网站违法吗营销型网站制作培训
  • 网站seo链接购买W7如何安装WordPress
  • 哪家网站开发公司好网站显示速度的代码是什么情况
  • 免费网站建设自助建站云南网站设计
  • 自己做网站语言构建服务器鹰潭做网站的
  • 网站会员管理系统做一个网站flash收多少钱
  • 网站建设公司投诉电话完整网站开发看什么书
  • 代码模版 网站wordpress博客模板教程
  • 集团官网及站群网站建设免费网站是如何盈利的
  • 开发网站的软件域名注册商排名
  • 集团网站开发费用外贸企业网站系统源码
  • 2017网站建设有市场吗小程序开发公司哪家正规
  • 网站制作将栏目分类网站制作厂家
  • 五原网站建设网站点赞怎么做
  • 苏州360推广网站建设搭建网站平台如何做分录
  • 济南营销型网站建设公司有口碑的装修设计公司
  • 大淘客cms网站建设wordpress add to cart 不用ajax
  • 网站开发工具中三剑客包括自己怎么创建免费网站
  • 卖网格布怎样做网站松岗营销型网站建设
  • 网站下方一般放什么购物车功能网站怎么做的
  • 成都网站建设搭建苏州知名网站建设
  • 用什么软件来做网站互联网营销师培训方案
  • 网站上的图文介绍怎么做的wordpress mo文件
  • 车公庙网站建设动漫设计师资格证
  • 龙岗同乐社区做网站seo和sem的区别与联系
  • 叫别人做网站需要注意什么虚拟主机wordpress安装