日期:2014-05-17  浏览次数:20750 次

.net 网站根据IP,防止恶意点击 ?
根据客户需求,做一个功能,就是根据IP来限制,客户,随意点击,因为客户网站做了推广,所以恶意点击就直接扣钱了,


功能是:因为后台做了一个IP统计,所以能可以看出是哪个IP,多次打开了网站,

需要将这个IP ,加入一个黑名单,如果下次这个IP ,打开网站,先比对黑名单保存的记录,如果有这个IP ,然后,动态的在网站


头部加上一段客户端的JS代码, 这个代码,可以使打开网站,非常缓慢,就是这样一个效果,



因为同一个IP段 ,可能后两位不一样,比如:203.43.92.4 ,写一个正则表达式,就是匹配IP ,只要前两位IP 是203.43

不管后面怎么变换,都把这个段落的IP 匹配,加入到黑名单,直接限制这个IP段访问 。

我想问的是,这个IP 正则表达式,应该怎么写呢 ? 还有一个,有没有这样的一段客户端JS代码 ?

或者,大家有没有做过这样的功能,分享下,

大家帮帮忙,多谢了 。 



------解决方案--------------------
不需要使用正则,你可以直接使用
String s = "203.43.xxxx"
if(s.StartsWith("203.43."))
------解决方案--------------------
这些是服务器端判断的,客户端判断效果不好并且可以屏蔽
------解决方案--------------------
在BeginRequest的时候判断吧,黑名单里的直接输出空白页
------解决方案--------------------
1,其实用程序的方法不是最佳选择,在硬件防火墙轻松搞定。

回答
2,如果用程序的话, 就要建立一个中间表,然后去匹配,可以用正则 也可以application。

3正则 

^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$

------解决方案--------------------
http://hi.baidu.com/infox7/item/4174f2af7982be3e030a4da5
------解决方案--------------------
你的黑名单是存在哪里的?数据库?查询的时候使用 like 或者charindex都可以 。

你先得到访问者ip的前部分
------解决方案--------------------
探讨
根据客户需求,做一个功能,就是根据IP来限制,客户,随意点击,因为客户网站做了推广,所以恶意点击就直接扣钱了,


功能是:因为后台做了一个IP统计,所以能可以看出是哪个IP,多次打开了网站,

需要将这个IP ,加入一个黑名单,如果下次这个IP ,打开网站,先比对黑名单保存的记录,如果有这个IP ,然后,动态的在网站


头部加上一段客户端的JS代码, 这个代码,可以使打开网站,……

------解决方案--------------------
探讨

这样子好像做不到你说的防范吧?
如果真的想恶意点击你,他会让他肉鸡来恶意点击你。