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

哪家公司做网站建设比较好品牌运营具体做什么

哪家公司做网站建设比较好,品牌运营具体做什么,不得不知道的网站,WordPress众筹模板需求 客户的一个老项目被相关部门检测不安全,报告为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://www.dtcms.com/wzjs/521025.html

相关文章:

  • 网站建设基本知识代码对网络营销的认识
  • 网站规划怎么做百合seo培训
  • 靠广告赚钱的网站备案可以免费领取会员的软件
  • 安徽建海建设工程有限公司网站百度竞价冷门产品
  • 做网站要考虑的制作网页的基本步骤
  • 山东机关建设网站道德模范百度一下你就知道官网网页版
  • 网站logo用什么做百度指数1000搜索量有多少
  • 深圳市坪山新区建设局网站网络营销是学什么
  • 济南做网站找哪家好广东最新新闻
  • 地方门户网站系统有哪些淘大象排名查询
  • 移动网站建设方案信息流优化师培训
  • 郑州锐旗网站公司做灰色词seo靠谱
  • 导购网站怎么建设app定制开发
  • 做谷歌seo要发大量文章吗北京网站快速排名优化
  • 网站做好了怎么上线推广优化排名
  • 合肥的网站建设关键词在线听免费
  • 证书查询网关键词优化意见
  • 电子烟网站建设咸阳seo公司
  • 网站如何做数据库seo怎么做优化计划
  • 深圳网站建设vr知识seo sem
  • 温州做网站的公司有哪些免费网址注册
  • 北京教育学会网站建设百度的网页地址
  • 黄骅市在哪里seo怎么学在哪里学
  • ubuntu wordpress安装ftp天津百度seo推广
  • 做网站有要求吗网站引流推广
  • 国内黑色风格的网站seo查询源码
  • cms网站怎么做武汉seo网站排名
  • 网页设计网站建设网络营销最基本的应用方式是什么
  • 做网站一屏有多大黑帽seo寄生虫
  • 查询网站死链接seo网站排名查询