0x00 前言 写网站的时候,或多或少会遇到,登录,注册等操作,有时候,为了防止别人批量进行操作,不得不做出一些限制IP的操作(当前也可以用于限制某个账号的密码校验等). 这样的简单限制,我们又不想对数据进行存库(显得过于浪费资源了).所以就诞生了0x01中提到的,简单IP限制类. 0x01 正文 理论说多了,终究是理论,分享一下代码 /// <summary> /// IP访问频率控制器 /// </summary> public class IPCacheManager { /…
一.限制所有单个ip的访问频率 1.http中的配置 http { #$limit_conn_zone:限制并发连接数 limit_conn_zone $binary_remote_addr zone=one1:10m; #limit_req_zone:请求频率 #$binary_remote_addr:以客户端IP进行限制 #zone=one:10m:创建IP存储区大小为10M,用来存储访问频率 #rate=10r/s:表示客户端的访问评率为每秒10次 limit_req_zone $bina…
背景: 大多数情况下,我们遇到的是访问频率限制.如果你访问太快了,网站就会认为你不是一个人.这种情况下需要设定好频率的阈值,否则有可能误伤.如果大家考过托福,或者在12306上面买过火车票,你应该会有这样的体会,有时候即便你是真的用手在操作页面,但是因为你鼠标点得太快了,它都会提示你: “操作频率太快...”. 遇到这种网页,最直接的办法是限制访问时间.例如每隔5秒钟访问一次页面.但是如果遇到聪明一点的网站,它检测到你的访问时间,这个人访问了几十个页面,但是每次访问都刚好5秒钟,人怎么可能做到这…
限制某个IP同一时间段的访问次数 如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候.其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包, 造成对方服务器资源耗尽,一直到宕机崩溃. cc攻击一般就是使用有限的ip数对服务器频繁发送数据来达到攻击的目的,nginx可以通过HttpLimitReqModul和HttpLimitZo…
14.IP频率限制不能用数组循环插入多个限制条件原因分析及解决方案: define("RATE_LIMITING_ARR", array('3' => 3, '6' => 10));//缓存访问频率限制设置数组 foreach (RATE_LIMITING_ARR as $limit => $timeout) { $redis->access_limit($_SERVER['REMOTE_ADDR'], $limit, $timeout); } function…
1.禁止IP访问 http://jingyan.baidu.com/article/22fe7ced0462633002617f39.html 2.限制IP访问频率 http://q.cnblogs.com/q/59308/ http://www.iis.net/downloads/microsoft/dynamic-ip-restrictions…
假如我的站点后台地址为: http://www.abc.net/admin.php 那么我想限制只有个别ip可以访问后台,那么需要在配置文件中增加: location ~ .*admin.* { allow 1.1.1.1; allow ; deny all; location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_index index.php; fastcgi_para…
<script type="text/javascript" src="http://counter.sina.com.cn/ip" charset="gb2312"></script><script type="text/javascript">if(ILData[2]==("北京市")){document.location.href="index.htm&q…
最近在论坛里看到有人问到 Linux 如何设置只允许域名访问站点而禁止IP访问站点的问题,之前自己也用过这个功能,可以防止别人用 IP 地址来访问到自己的网站,下面我就我自己的环境给出解决方法,我用的是 OneinStack 的一键包,LANMP 环境,其实都差不太多,大同小异,只要理解了原理,下面的就好办了. 具体方法为:找到 apache 的配置文件,我的环境下路径为:/usr/local/apache/conf/httpd.conf,在文件最下面,Include conf/vhost/*.…
tomcat常用架构:1)nginx+tomcat:即前端放一台nginx,然后通过nginx反向代理到tomcat端口(可参考:分享一例测试环境下nginx+tomcat的视频业务部署记录)2)tomcat直接部署站点,不通过nginx反向代理. 下面针对tomcat的有关配置使用进行说明:1)默认站点根目录                                                                                             …
这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下   国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了.这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下. 如下的配置项,可以设置允许使用IP访问网站. server { listen ; server_name ""; } 这里相当于是绑定了一…
由于一台服务器上面部署了好几个应用,对应不同的域名,如果用户知道ip地址的话,直接用户ip地址访问,会显示第一个虚拟主机的页面(更改了虚拟主机的顺序,每次都是显示第一个).这样对用户造成不好的印象,所以要禁止ip访问. 方法一:在httpd.conf文件最后面,加入以下代码 NameVirtualHost 221.*.*.* <VirtualHost 221.*.*.*> ServerName 221.*.*.* <Location /> Order Allow,Deny Deny…
最近做了一个免费发短信的小网站(http://freesms.cloudapp.net/),但发现最近有人破解了我的验证码,以每3秒/条的速度用我的短信服务来发他的广告.更换验证码程序和过滤关键字只是治标不治本的方法,为了彻底阻止此类事件的发生,我们还是来看一下怎样通过优化程序来实现. 其实同样的程序除了防止别人滥发请求以外,还对预防拒绝服务(DoS)攻击同样适用哦.不妨来看看. 基本目标:限制同一IP访问网站的频率.比如,我们限制为每240分钟来自同一IP的用户最多只能够访问首页40次.其他页…
nginx可以通过limit_conn_zone和limit_req_zone两个组件来限制客户端访问服务端的目录和文件的频率和次数,能够抵挡住部分cc.ddos攻击. 限制访问频率: http{ ... #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存, #以$binary_remote_addr 为key,限制平均每秒的请求为20个, #1M能存储16000个状态,rete的值必须为整数, #如果限制两秒钟一个请求,可以设置成30r/m lim…
服务器VPS云服务器如何限制IP访问,限制别人的IP访问网站的方法 windows主机IIS限制IP访问方法:首先打开IIS点击“网站”,右键属性,(如果仅给单个网站设置,请选择下边的站点,点右键“属性”,然后再按下面的步骤操作)如图: 点击“目录安全性”,打开“IP地址和域名限制”的编辑,如图: 点击“添加”,来添加需要拒绝访问的IP地址或IP段.如图:IP地址按照IPV4的标准来分,分为A类地址.B类地址.C类地址,一般我们是屏蔽C类或者B类地址.A类地址:如 112.*.*.*      …
一,nginx中allow/deny指令的用途 1, Nginx的deny和allow指令是由ngx_http_access_module模块提供, Nginx安装默认内置了该模块 2, nginx访问控制模块: 想禁止哪个ip访问就加上deny IP, 想允许哪个ip访问就加上allow IP, 想禁止或者允许所有,则allow all或者deny all 3,常用的场景: 测试站/后台/管理工具站 等,要注意添加ip地址限制 说明:如果可以指定相应站点的端口,通过防火墙来进行限制则更安全一些…
作用 通过本中间件可限定用户在一段时间内的访问次数,可用于保护接口防爬防爆破的目的. 安装 composer require topthink/think-throttle 安装后会自动为项目生成 conf/throttle.php 配置文件,安装后组件不会自动启用,需要手动设置. 开启 组件以中间件的方式进行工作,因此它的开启与其他中间件一样,例如在全局中间件中使用 app/middleware.php : <?php return [ \think\middleware\Throttle::…
简单爬虫,突破复杂验证码和IP访问限制 文章地址:http://www.cnblogs.com/likeli/p/4730709.html   好吧,看题目就知道我是要写一个爬虫,这个爬虫的目标网站有一些反爬取意识,所以就有了本文了. 我先说说场景吧: 由于工作需要,平时有一大堆数据需要在网上查询,并归档存库.某次,这种任务也给我安排了一份.观察了一网站,我的第一反应就是用爬虫取抓取.这种机械的工作何必人工呢? 由于这家网站有反爬虫的意识,做了些工作,给我的爬虫去爬取数据造成了某些麻烦. 先列举…
无论是spring mvc还是struts,都可以为controller或者aciton执行前,增加拦截器. 通过拦截器中的逻辑控制,可以实现访问频率的限制. 首先构造访问频率数据类 class FrequencyData { // 使用ip_methodName String key; // 记录开始时间 long startTime; // 记录结束时间 long endTime; // 访问频率限制时间长度 int time; // 访问频率限制次数 int limit; // 记录访问时…
1.把IP数量直接输出显示: cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l 2.把IP数量输出到文本显示: cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l > ip.txt 总结:如果单个访问日志大小超过2G,用这个命令查看时很占系统资源,系统负载会上升:所以在服务器高负载时不要查看,最好在低负载时间段查看.上面截图是公司其中一台广告服务器的一…
Nginx禁止ip访问可以防止指定IP访问我们的网站,本例子可以实现是防止单IP访问或IP网段访问了,非常的有用我们一起来看看吧. 常用的linux做法 iptables参考规则  代码如下 复制代码 iptables -I INPUT -p tcp –dport 80 -m –mac-soruce$MAC -j DROP 基于mac地址的iptables -I INPUT -p tcp –dport 80 -s $IP -j DROP 基于ip地址的 方法一, 首先建立下面的配置文件放在ngi…
如果你的web应用受到恶意扫描或攻击,你会怎么处理呢?大多数时候从应用日志里可以看到恶意扫描或攻击,遇到此类情况,如有一个可以进行IP访问控制的功能就好些了. 现将在MVC下实现的一个IP访问限制功能分享一下: 1.通过路由规则配置来设置禁止IP访问 public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*…
我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回50…
一旦电脑连上局域网,那么别人就容易进入自己的电脑,造成隐私被泄漏,这是我们最不愿发生的情况.因此,如果你的电脑并不需要向局域网其他用户共享资料,那么就建议采用策略,禁止局域网电脑访问自己的电脑,以保证安全. 下面介绍一个方法,通过windows自带的安全策略禁止局域网别人IP访问我的电脑. 1.创建IP安全策略 打开“控制面板”-“管理工具”-“本地安全策略” 右键点“IP安全策略,在本地机器”——>创建IP安全策略---->下一步---->名称随便写,如输入阻止,然后一直点下一步,出现…
来源 : http://www.ttlsa.com/nginx/nginx-deny-ip-access/   闲来无事,登陆服务器,发现有个IP不断的猜测路径.试图往服务器上传文件(木马).于是查看了之前的日志,无奈鄙站被攻击者盯上了,不断的有不同的IP试图上传木马.看来坏人还是有的.由于不想让鄙站沦为肉鸡,所以就想写个简单的脚本,来阻止攻击者的IP访问. 攻击者: 195.154.216.165 - - [28/Nov/2015:23:10:40 +0800] "POST /wp-conte…
1. 需求分析 Nginx来处理访问控制的方法有多种,实现的效果也有多种,访问IP段,访问内容限制,访问频率限制等. 用Nginx+Lua+Redis来做访问限制主要是考虑到高并发环境下快速访问控制的需求. Nginx处理请求的过程一共划分为11个阶段,分别是: post-read.server-rewrite.find-config.rewrite.post-rewrite. preaccess.access.post-access.try-files.content.log. 在openre…
[方法]如何限定IP访问Oracle数据库 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 限定IP访问Oracle数据库的3种方法(重点) ② 如何将信息写入到Oracle的告警日志中 ③ RAISE_APPLICATION_ERROR不能抛出错误到客户端环境 ④ 系统触发器 ⑤ 隐含参数:_system_trig_enabled Tips: ① 本文…
  我们知道当网站的访问量突然很大的时候肯定会对服务器造成影响,甚至无法访问,如果是正常的访问那么很好说明业务量增大可以考虑系统的扩展,但是如果是搜索引擎爬虫频繁访问或是一些恶意访问,那这时候我们就应该限制这些访问的访问次数.redis刚好可以解决这个问题 Redis实现限制访问频率 1.实现访问一   限制每个用户每分钟最多只能访问100个页面.实现思路:key使用有"rate.limiting:IP",value使用数值,用户每次访问将value的值通过INCR命令自增1.如果自增…
1. 简单演示,创建一个models的数据库表 class User(models.Model): name=models.CharField(max_length=32) pwd=models.CharField(max_length=32) choice=((1,'超级用户'),(2,'普通用户'),(3,'穷逼用户')) type=models.IntegerField(choices=choice,null=True) # typ=models.ForeignKey(to='Type')…
在阿里云ECS Linux服务器运维过程中,如果发现某些IP访问异常,如怀疑有攻击行为或者怀疑是别人写的爬虫程序长时间占用你的服务器资源,则可以通过相关的设置来禁止这些IP段的访问,拒绝这些IP的请求. 根据官方给出的资料,我们可以通过以下两种方式来屏蔽这些IP. 一.通过对配置文件vim /etc/hosts.deny 进行修改配置,使用sshd.httpd等关键字添加相应的限制规则. sshd:39.177.140.52  #禁止39.177.140.52对服务器SSH的访问 sshd:20…