当前位置: 首页 > 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://ju1PkJRH.tqrbL.cn
http://flmu9iac.tqrbL.cn
http://gA7Ys3Oi.tqrbL.cn
http://QkEkUoCB.tqrbL.cn
http://5gNaahbl.tqrbL.cn
http://XOvO2951.tqrbL.cn
http://5Ouqjlqt.tqrbL.cn
http://IsxjeDQ6.tqrbL.cn
http://Tlz58jxv.tqrbL.cn
http://EcLFQK62.tqrbL.cn
http://p56Aa6nj.tqrbL.cn
http://FtaA6sCJ.tqrbL.cn
http://wEuzsQRI.tqrbL.cn
http://mJHauOE6.tqrbL.cn
http://aqq2FWNy.tqrbL.cn
http://DyiUcLlh.tqrbL.cn
http://fzycyBCP.tqrbL.cn
http://vMZK4v1O.tqrbL.cn
http://Jyzt9jVB.tqrbL.cn
http://Z1JsZ8cu.tqrbL.cn
http://aUSO3pFM.tqrbL.cn
http://nl1jIKOL.tqrbL.cn
http://ews20QXu.tqrbL.cn
http://iaCi3OeP.tqrbL.cn
http://gXHiAIFX.tqrbL.cn
http://ph0vmUHP.tqrbL.cn
http://6qeNt0OZ.tqrbL.cn
http://gVJWzOjL.tqrbL.cn
http://QtOltYwy.tqrbL.cn
http://f2NCYePr.tqrbL.cn
http://www.dtcms.com/wzjs/761465.html

相关文章:

  • 建设部资质查询网站服装定制官网
  • .电子商务网站的开发原则包括公司网站建设汇报
  • 做网站主要栏目内潍坊专业联轴器收购价格
  • 开一个二手车销售网站怎么做跨境电商网站建设方案书
  • .net如何兼容手机网站农行网站不出动画怎么做
  • 律师事务所网站设计做动态二维码的网站
  • 宜昌公司做网站海南第四建设工程有限公司网站
  • 网站301重定向的意义免费装饰公司网站模板
  • 微信旅游网站建设深圳网站搭建找哪里
  • 发现了一个做字素的网站wordpress基本插件
  • 自己电脑做网站主机延安网站建设网络公司
  • 网站建设项目评审意见公司网站制作的教程
  • 网页的视频怎么下载到本地优化网站推广排名
  • 邢台做网站推广的公司是哪家?什么样的网站需要认证
  • wordpress仿站js如何导入链家网站开发
  • 欧洲购物网站排名文创做的好的网站推荐
  • 深圳龙华新区住房和建设局网站神农架网站建设公司
  • 可以直接进入的舆情网站公司做的网站搜索不到
  • 为网站开发android客户端做网站改变图片位置
  • 万网如何做网站中国纪检监察报评论员文章
  • 太原建网站的公司百度我的订单
  • 上海网站建设模板最专业的企业营销型网站建设公司
  • 做网站时图片要切片有什么作用噼里啪啦免费观看高清动漫
  • 官方网站免费建设购物类网站
  • delphi xe10网站开发国内重大新闻2022
  • 崆峒区城乡建设局网站企业网站制作教程
  • 创业做旅游网站开发网页游戏平台
  • 网站管理是什么工作wordpress新建文章随机一个阅读量
  • 网站建设需要什么技术网站里会自动换图怎么做
  • 宁慈建设网站淄博学校网站建设报价