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

怎么封闭网站网站建设小程序定制开发

怎么封闭网站,网站建设小程序定制开发,wordpress爱情主题,wordpress封面图七牛求背景 为了封禁某些爬虫或者恶意用户对服务器的请求#xff0c;我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP #xff0c;拒绝提供服务。并且可以设置失效 1.安装Openresty#xff08;编译安装#xff09; wget https://openresty.org/download/openresty-1.…求背景 为了封禁某些爬虫或者恶意用户对服务器的请求我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP 拒绝提供服务。并且可以设置失效 1.安装Openresty编译安装 wget https://openresty.org/download/openresty-1.19.3.1.tar.gz # 解压openresty tar -zxvf openresty-1.19.3.1.tar.gz 下载缓存插件   wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz#解压缓存插件 tar -zxvf ngx_cache_purge-2.3.tar.gz cd openresty-1.19.3.1/ mkdir modules # 把刚解压的ngx_cache_purge移动到该目录下 安装依赖 yum install pcre-devel openssl-devel gcc curl -y 编译OpenResty 选择需要的插件启用, –with-Components 激活组件–without 则是禁止组件 ,–add-module是安装第三方模块。 进入刚刚解压好的openresty-1.19.3.1根目录下执行命令 ./configure --prefix/usr/local/openresty --with-luajit --without-http_redis2_module --with-http_stub_status_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --add-module/usr/local/openresty-1.19.3.1/modules/ngx_cache_purge-2.3 –prefix/usr/local/openresty 刚自己创建的目录用来存放编译后的openresty–add-module/usr/local/openresty-1.19.3.1/xxx 存放第三方插件的位置 2.安装redis 这里我是基于docker安装的redis  docker run --restartalways -p 6379:6379 --name myredis -d redis:7.0.12 --requirepass xxx- -requirepass 是redis密码 3.写lua脚本 ip_bind_time 30 --封禁IP多长时间 ip_time_out 6 --指定统计ip访问频率时间范围 connect_count 10 --指定ip访问频率计数最大值 --上面的意思就是6秒内访问超过10次自动封 IP 30秒。--连接redis local redis require resty.redis local cache redis.new() local ok , err cache.connect(cache,127.0.0.1,6379) -- redis密码 local res, err cache:auth(xxx) cache:set_timeout(60000)--如果连接失败跳转到脚本结尾 if not ok thengoto Lastend end--查询ip是否在封禁段内若在则返回403错误代码 --因封禁时间会大于ip记录时间故此处不对ip时间key和计数key做处理 is_bind , err cache:get(bind_..ngx.var.remote_addr)if is_bind 1 thenngx.exit(ngx.HTTP_FORBIDDEN)-- 或者 ngx.exit(403)-- 当然你也可以返回500错误啥的搞一个500页面提示亲您访问太频繁啥的。goto Lastend endstart_time , err cache:get(time_..ngx.var.remote_addr) ip_count , err cache:get(count_..ngx.var.remote_addr)--如果ip记录时间大于指定时间间隔或者记录时间或者不存在ip时间key则重置时间key和计数key --如果ip时间key小于时间间隔则ip计数1且如果ip计数大于ip频率计数则设置ip的封禁key为1 --同时设置封禁key的过期时间为封禁ip的时间if start_time ngx.null or os.time() - start_time ip_time_out thenres , err cache:set(time_..ngx.var.remote_addr , os.time())res , err cache:set(count_..ngx.var.remote_addr , 1) elseip_count ip_count 1res , err cache:incr(count_..ngx.var.remote_addr)if ip_count connect_count thenres , err cache:set(bind_..ngx.var.remote_addr,1)res , err cache:expire(bind_..ngx.var.remote_addr,ip_bind_time) --fix keysend end --结尾标记 ::Lastend:: local ok, err cache:close() #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;access_by_lua_file /usr/local/openresty/nginx/lua/access_by_redis.lua;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apaches document root# concurs with nginxs one##location ~ /\.ht {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 5m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}}启动下就可以了
http://www.hkea.cn/news/14381847/

相关文章:

  • 北京和隆优化怎么样资阳抖音搜索优化
  • 怎样直接输入网址打开网站网站推广方法大全
  • 亿星网站建设做心理咨询的网站
  • 石药网站wordpress除了博客外主题
  • 网站搭建功能需求wordpress 头部引入js
  • 做网站具体流程步骤网站建设成本预测表
  • 四团网站建设江西网站优化
  • 免费源码html网站国内软件公司排名
  • asp.net创建项目和创建网站的区别网页链接格式
  • 太原网站建设晋icp备通过域名打开网站是做映射么
  • 网站建设关键要做好哪些校园网站建设情况汇报
  • 怎么样可以建设网站南昌建站推广公司
  • 牡丹江市西安区建设局网站宁波做网站 主觉文化
  • 网站制作的销售对象网站文件夹命名怎么做
  • 黄冈商城网站制作哪家好深圳品牌网站设计
  • 邢台做企业网站哪里找专业做网站的人
  • 陕西建设网站官网上海分公司
  • 网站被提示危险网站网站建设与运营考试
  • 宁国网站开发wordpress设置固定链接后404
  • 怎么备份wordpress网站互联网广告平台有哪些
  • 手把手教你实现电商网站开发哪个网站可以学做馒头
  • 个人网站需要那些做经营行网站需要什么
  • 定制开发网站如何报价单昆明网站推广公司
  • 网站收录怎么设置网站建设junke100
  • 佛山微网站建设天博荣成市城乡建设局网站
  • 徐州品牌网站建设|徐州网站优化|徐州网络公司-徐州启思信息科技上海有多少个网站科技公司
  • 服饰技术支持 东莞网站建设下载游戏的软件应用
  • 大浪做网站公司简历生成器在线制作
  • 胶南网站建设价格制作企业推广网站
  • 自己做的网站用在博客上2024电商哪个平台好做