JS如何js限制只能输入数字某段时间内向某手机发送短信的数量?

你的位置: >
> sed截取某段时间内Apache的访问日志
Apache日志格式为:
222.92.115.194 – – [28/May/:00 +0800] &GET /media/js/jquery.eislideshow.js HTTP/1.1& 304 -
222.92.115.194 – – [28/May/:00 +0800] &GET /media/style/tpl/tpl_buy_left/tpl_buy_left.js HTTP/1.1& 304 -
222.92.115.194 – – [28/May/:01 +0800] &GET /favicon.ico HTTP/1.1& 404 17846
222.92.115.194 – – [28/May/:01 +0800] &GET /large-display/interactive/ HTTP/1.1& 200 21382
222.92.115.194 – – [28/May/:02 +0800] &GET /favicon.ico HTTP/1.1& 404 17846
222.92.115.194 – – [28/May/:04 +0800] &GET /large-display/single/ HTTP/1.1&200 21386
222.92.115.194 – – [28/May/:04 +0800] &GET /favicon.ico HTTP/1.1& 404 17846
222.92.115.195 – – [28/May/:05 +0800] &GET /dsc/ HTTP/1.1& 200 34530
222.92.115.195 – – [28/May/:05 +0800] &GET /media/img/channel_icon.jpg HTTP/1.1& 404 17846
222.92.115.195 – – [28/May/:06 +0800] &GET /favicon.ico HTTP/1.1& 404 17846
截取命令:
[root@style logs]# sed -n’/24/May/:01/,/28/May/:58/p’ xxxx-access_log & --access_log.txt
PS:需要注意的是如果起始时间在日志中不存在,则整个截取将返回 0 行结果。而如果结束时间在日志中不存在,则会截取到日志的最后一条。所以在截取前得要找到最日志中最合适的起始点和结束点。
我的做法是先使用grep去找到两个点  再使用sed去截取
15点第一条记录的时间
[root@style logs]# grep ’24/May/42; xxxx-access_log | head -1
10.200.114.183 – – [24/May/:01 +0800] &GET /gp10/pic_259_218_.png HTTP/1.0& 401 484
16点最后一条记录的时间
[root@style logs]# grep ’28/May/42; xxxx-access_log | tail -1
222.92.115.195 – – [28/May/:58 +0800] &GET /favicon.ico HTTP/1.1& 404 17846
# 然后取这两个时间段之间的记录
转载请注明: &
与本文相关的文章& nginx限制某个IP同一时间段的访问次数
nginx限制某个IP同一时间段的访问次数
如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候。其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。
cc攻击一般就是使用有限的ip数对服务器频繁发送数据来达到攻击的目的,nginx可以通过HttpLimitReqModul和HttpLimitZoneModule配置来限制ip在同一时间段的访问次数来防cc攻击。
HttpLimitReqModul用来限制连单位时间内连接数的模块,使用limit_req_zone和limit_req指令配合使用来达到限制。一旦并发连接超过指定数量,就会返回503错误。
HttpLimitConnModul用来限制单个ip的并发连接数,使用limit_zone和limit_conn指令
这两个模块的区别前一个是对一段时间内的连接数限制,后者是对同一时刻的连接数限制
HttpLimitReqModul 限制某一段时间内同一ip访问数实例
&&&&#定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,
&&&&#以$binary_remote_addr&为key,限制平均每秒的请求为20个,
&&&&#1M能存储16000个状态,rete的值必须为整数,
&&&&#如果限制两秒钟一个请求,可以设置成30r/m
&&&&limit_req_zone&$binary_remote_addr&zone=allips:10m&rate=20r/s;
&&&&server{
&&&&&&&&...
&&&&&&&&location&{
&&&&&&&&&&&&...
&&&&&&&&&&&&#限制每ip每秒不超过20个请求,漏桶数burst为5
&&&&&&&&&&&&#brust的意思就是,如果第1秒、2,3,4秒请求为19个,
&&&&&&&&&&&&#第5秒的请求为25个是被允许的。
&&&&&&&&&&&&#但是如果你第1秒就25个请求,第2秒超过20的请求返回503错误。
&&&&&&&&&&&&#nodelay,如果不设置该选项,严格使用平均速率限制请求数,
&&&&&&&&&&&&#第1秒25个请求时,5个请求放到第2秒执行,
&&&&&&&&&&&&#设置nodelay,25个请求将在第1秒执行。
&&&&&&&&&&&&limit_req&zone=allips&burst=5&
&&&&&&&&&&&&...
&&&&&&&&...
HttpLimitZoneModule 限制并发连接数实例
limit_zone只能定义在http作用域,limit_conn可以定义在http server location作用域
&&&&#定义一个名为one的limit_zone,大小10M内存来存储session,
&&&&#以$binary_remote_addr&为key
&&&&#nginx&1.18以后用limit_conn_zone替换了limit_conn
&&&&#且只能放在http作用域
&&&&limit_conn_zone
&one &$binary_remote_addr &10m;&
&&&&server{
&&&&&&&&...
&&&&&&&&location&{
&&&&&&&&&&&&...
&&&&&&&&&&&limit_conn&one&20;
&#连接数限制
&&&&&&&&&&&#带宽限制,对单个连接限数,如果一个ip两个连接,就是500x2k
&&&&&&&&&&&limit_rate&500k;
&&&&&&&&&&&&...
&&&&&&&&...
nginx白名单设置
以上配置会对所有的ip都进行限制,有些时候我们不希望对搜索引擎的蜘蛛或者自己测试ip进行限制,
对于特定的白名单ip我们可以借助geo指令实现。
&&&&&geo&$limited{
&&&&&&&&default&1;
&&&&&&&&#google&
&&&&&&&&64.233.160.0/19&0;
&&&&&&&&65.52.0.0/14&0;
&&&&&&&&66.102.0.0/20&0;
&&&&&&&&66.249.64.0/19&0;
&&&&&&&&72.14.192.0/18&0;
&&&&&&&&74.125.0.0/16&0;
&&&&&&&&209.85.128.0/17&0;
&&&&&&&&216.239.32.0/19&0;
&&&&&&&&#M$
&&&&&&&&64.4.0.0/18&0;
&&&&&&&&157.60.0.0/16&0;
&&&&&&&&157.54.0.0/15&0;
&&&&&&&&157.56.0.0/14&0;
&&&&&&&&207.46.0.0/16&0;
&&&&&&&&207.68.192.0/20&0;
&&&&&&&&207.68.128.0/18&0;
&&&&&&&&#yahoo
&&&&&&&&8.12.144.0/24&0;
&&&&&&&&66.196.64.0/18&0;
&&&&&&&&66.228.160.0/19&0;
&&&&&&&&67.195.0.0/16&0;
&&&&&&&&74.6.0.0/16&0;
&&&&&&&&68.142.192.0/18&0;
&&&&&&&&72.30.0.0/16&0;
&&&&&&&&209.191.64.0/18&0;
&&&&&&&&#My&IPs
&&&&&&&&127.0.0.1/32&0;
&&&&&&&&123.456.0.0/28&0;&#example&for&your&server&CIDR
geo指令定义了一个白名单$limited变量,默认值为1,如果客户端ip在上面的范围内,$limited的值为0
2.使用map指令映射搜索引擎客户端的ip为空串,如果不是搜索引擎就显示本身真是的ip,这样搜索引擎ip就不能存到limit_req_zone内存session中,所以不会限制搜索引擎的ip访问
map $limited $limit {
1 $binary_remote_
3.设置limit_req_zone和limit_req
limit_req_zone $limit zone=foo:1m rate=10r/m;
limit_req zone=foo burst=5;
最后我们使用压的方式,对上面的方法效果实际测试下
例1:限制只允许一分钟内只允许一个ip访问60次配置,也就是平均每秒1次
首先我们准备一个php脚本放在根目录下$document_root
for( $i=0; $i < 1000; $i++)
echo 'Hello World';
nginx配置增加limit_req_zone 和 limit_req
&&&&limit_req_zone&$binary_remote_addr&zone=allips:10m&rate=60r/m;
&&&&server{
&&&&&&&&...
&&&&&&&&location&{
&&&&&&&&&&&&...
&&&&&&&&&&&&limit_req&zone=
&&&&&&&&&&&&...
&&&&&&&&...
ab -n 5 -c 1 http://www.weizhang.org/test.php
118.144.94.193 - - [22/Dec/:06 +0000] "GET /test.php HTTP/1.0" 200 11000 "-" "ApacheBench/2.3"
118.144.94.193 - - [22/Dec/:06 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "ApacheBench/2.3"
118.144.94.193 - - [22/Dec/:07 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "ApacheBench/2.3"
118.144.94.193 - - [22/Dec/:07 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "ApacheBench/2.3"
118.144.94.193 - - [22/Dec/:07 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "ApacheBench/2.3"
未设置brust和nodelay可以看到该配置只允许每秒访问1次,超出的请求返回503错误
&&&&limit_req_zone&$binary_remote_addr&zone=allips:10m&rate=60r/m;
&&&&server{
&&&&&&&&...
&&&&&&&&location&{
&&&&&&&&&&&&...
&&&&&&&&&&&&limit_req&zone=allips&burst=1&
&&&&&&&&&&&&...
&&&&&&&&...
ab -n 5 -c 1 http://www.weizhang.org/test.php
118.144.94.193 - - [22/Dec/:00 +0000] "GET /test.php HTTP/1.0" 200 11000 "-" "ApacheBench/2.3"
118.144.94.193 - - [22/Dec/:00 +0000] "GET /test.php HTTP/1.0" 200 11000 "-" "ApacheBench/2.3"
118.144.94.193 - - [22/Dec/:01 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "ApacheBench/2.3"
118.144.94.193 - - [22/Dec/:01 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "ApacheBench/2.3"
118.144.94.193 - - [22/Dec/:01 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "ApacheBench/2.3"
设置brust=1和nodelay后允许第1秒处理两个请求。
除非注明,本站文章均为: 原创,转载请注明本文地址:
查找问题的解决方法时,你是不是会经常发现同一篇文章被转来转去,却没有一篇能说清楚问题究竟怎么回事。面对问题你是不是偶尔也会发现自己也能设计出精彩的解决方案,觉得自己就是个天才。现在好了如果你有刻骨铭心的经历无论是Nginx还是其它的方面,别让它被遗忘,与大家分享吧,投稿邮箱。
新开Nginx QQ群,欢迎大家一起交流探讨,2000人群号。
如果你喜欢本站,请添加本站链接。
- 143,146 ℃ - 102,833 ℃ - 84,028 ℃ - 79,500 ℃ - 52,819 ℃ - 46,570 ℃ - 44,892 ℃ - 36,306 ℃ - 36,137 ℃ - 28,166 ℃ - 27,806 ℃ - 25,948 ℃ - 25,445 ℃ - 24,216 ℃ - 23,062 ℃&&&问题详情页
统计某段时间内,用户A转发用户B微博的数量,用什么工具如何操作
:转发微博
:您好!很抱歉,这个功能暂时我们的产品中还没有相关模块可以满足,但是关于您的建议客服人员已经记录下来,我们会通过专门的渠道定时反馈给产品研发部门,非常感谢您的建议,我们会不断完善新浪微博的产品,以提高我们的服务。感谢您对新浪微博的支持!
:你好,现在微博还没有工具统计时间段的微博转发量,可在微博下面是有转发的次数的哦。给你带来不便,请你原谅哦。【帅哥!美女!如果解决了您的问题请设为好评哈^^】
:亲~目前没有工具统计时间段的微博转发量。但是微博下面是有转发的次数。
:这个是没法工具进行统计的,只要是转发就应该是会在那条微博的下面有数字显示的,目前还没有工具可以检测在某段时间内的转发数的
微梦公司 版权所有}

我要回帖

更多关于 js限制上传文件大小 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信