设为首页收藏本站手机版导航 今天是: 2024-11-23    美好的一天,从现在开始
天气与日历 切换到宽版

 找回密码
 立即注册
搜索
查看: 748|回复: 0

[JavaScript] js判断ip地址屏蔽指定地区访问代码(可判断蜘蛛)

[复制链接]
  • 打卡等级:LV7

466

主题

31

回帖

24万

积分

管理员

积分
247664

突出贡献荣誉管理论坛元老本科学士学位劳力士欧米茄奔驰宝马

QQ

皮卡丘 Lv:40
发表于 2022-11-16 10:20:16 来自手机 | 显示全部楼层 |阅读模式 IP:北京
可指定屏蔽蜘蛛或用户,以下代码蜘蛛正常,用户无法访问,已使用百度站长工具抓取测试
js判断ip地址屏蔽指定地区访问代码,禁止指定地区访问,结尾附直接判断蜘蛛和用户并限制访问的代码

js屏蔽地区访问代码1:(通过php调用绵羊优创网的本地ip库,直接复制代码即可使用)
  1. <script type="text/javascript" src='http://smy.sheepyc.com/tool/ipku/getipinfo.php?return=ipinfo&format=js'>// 输出ipinfo 变量 var ipinfo = { province: "城市" };</script>  
  2. <script type="text/javascript">  
  3. var jumptourlA = "error.html"; // 重定向目标  
  4. var isSpider = navigator.userAgent.match(/(bot|spider|crawler)/i) ? 1 : 2; // 爬虫检测   
  5. if (typeof ipinfo !== 'undefined' && ipinfo !== null) {  
  6.     var province = ipinfo.province; // 获取省份信息  获取城市:localAddress.city
  7.     var checkStrA = "北京";
  8.     if (isSpider === 1) {  /* 是爬虫 */ } else {  
  9.         // 不是爬虫,进行省份判断  
  10.         if (province.indexOf(checkStrA) !== -1) {  
  11.             window.location.replace(jumptourlA); // 重定向   
  12.         }  
  13.     }  
  14. } else {  
  15.     console.error("sheep: ipinfo variable is not defined or is null.");  
  16. }  
  17. </script>
复制代码
分享一个简单错误提示页面,可用于跳转后显示:
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>抱歉,站点已停止</title>
  6. <style>
  7. html,body,div,h1,*{margin:0;padding:0;}
  8. body{background-color:#fefefe;color:#333}
  9. .box{width:580px;margin:0 auto;}
  10. h1{font-size:20px;text-align:center;background:url(背景图链接,不需要则删除) no-repeat top center; padding-top:90px;margin-top:30%;font-weight:normal;}
  11. </style>
  12. </head>
  13. <body>
  14. <div class="box"><h1>抱歉!该站点已停止运行!</h1></div>
  15. </body>
  16. </html>
复制代码

js屏蔽地区访问代码2:(通过js调用互联网ip库,若无效需要找到可用的ip库链接)

  1. <script type="text/javascript" src="http://ip.ws.126.net/ipquery"></script>
  2.         <script>
  3.                 var province=localAddress.province;//获取所在省,比如广东省
  4.                 var city=localAddress.city;//获取所在市,比如广州市
  5.                 //判断省
  6.                 if(province.indexOf('北京')  != -1 || province.indexOf('上海')  != -1 || province.indexOf('江苏')  != -1 || province.indexOf('湖南')  != -1){
  7.                         //alert(province);   
  8.                         window.location.href="http://www.baidu.com";
  9.                         }else{
  10.                               
  11.                                 }
  12.                 //判断市
  13.                 if(city.indexOf('广州')  != -1 || city.indexOf('深圳')  != -1){
  14.                         //alert(city);
  15.                         window.location.href="http://www.baidu.com";   
  16.                         }else{
  17.                                 }
  18.     </script>
复制代码

判断蜘蛛访问正常,用户访问跳转
  1. <script type="text/javascript">
  2.     var jumptourlA = "error.html"; // 重定向目标  
  3.     var isSpider = navigator.userAgent.match(/(bot|spider|crawler)/i) ? 1 : 2; // 爬虫检测   
  4.     if (isSpider === 1) {  /* 是爬虫 */ } else {
  5.         window.location.replace(jumptourlA); // 重定向   
  6.     }  
  7. </script>
复制代码



懒得打字嘛,点击右侧快捷回复 【乱回复纯数字纯字母将禁言】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|社区规范|心情墙|神奇宝贝||绵羊优创 ( 京ICP备19037745号-2 )|网站地图

公安备案京公网安备11011502037529号

GMT+8, 2024-11-23 09:46 , Processed in 1.500865 second(s), 18 queries , MemCache On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表