在网上看到禁止国外IP访问代码,我晕了。难道不可以变通一下么?
var language = navigator.language||navigator.browserLanguage; if (language.toLowerCase() === 'zh-cn'){ //code here }else{ //other code }
这是Js的代码,相信其他语言也是可以检测浏览器/OS使用语言的。
目的达到了,并且漏掉的虫子也不见得就比检测IP的多。
在网上看到禁止国外IP访问代码,我晕了。难道不可以变通一下么?
var language = navigator.language||navigator.browserLanguage; if (language.toLowerCase() === 'zh-cn'){ //code here }else{ //other code }
这是Js的代码,相信其他语言也是可以检测浏览器/OS使用语言的。
目的达到了,并且漏掉的虫子也不见得就比检测IP的多。
原文链接|
colordog
十月 20th, 2009 @ 21:05
不是这么玩的,有些系统的语言不是系统内置的,可以随时切换,例如苹果,你这么搞会死人的
用geoip库,判断出国家CN,然后ban掉CN以外的即可,很简单,支持多种语言。
回复
张经纬
十月 20th, 2009 @ 21:22
我检测的是浏览器语言。
saffari也有navigator对象,肯定也会有navigator.language。
用这样的方法判断我觉得简单的多,无需再借助第三方的库。
回复
colordog
十月 21st, 2009 @ 23:56
可是你有没有考虑过用英文系统的中国用户,以前很多朋友用英文xp+中文语言包的
回复
张经纬 reply on 十月 22nd, 2009 14:33:
确实是的。
在这一点上还没有完美的解决方法。
回复
wkl17
三月 2nd, 2011 @ 23:10
问下博主:
假如是网站被攻击,对方用的一般都是(比如美国的)代理IP吧,那这样有效吗?
我现在是有网站,只想允许国内IP访问。看了博主的代码(我不懂代码,只懂中文说明。。),那是否可以反过来,只允许中文语言的访问网站,非中文的给出提示或转到其它网站呢??
比如我想,非中文,转到google.com , 知道博主能否给下代码呢?
非常感谢!!
回复
张经纬 reply on 三月 3rd, 2011 20:19:
@wkl17, 如果是被攻击的话,上述代码就无效的,还是要从server端去做处理。
回复
rc
九月 24th, 2011 @ 10:44
请问如果站长或管理员自己用的是CN系统,如何过滤自己的机器,以便自己人访问呢?
回复
rc
九月 24th, 2011 @ 10:47
另外, 这样会不会影响网络蜘蛛? 会不会被蜘蛛误认为是蜘蛛陷阱?
回复