301跳转和"蜘蛛"检测


301跳转


   if (Request.Cookies["login"]==null)
   {
    Response.Status ="301 Moved Permanently";
    Response.AddHeader("Location",http://www.zongen.com);   }

"蜘蛛"检测

  public static bool IsSpider()
  {
   DataSet ds=new DataSet();
   ds.ReadXml(System.Web.HttpContext.Current.Server.MapPath("~/Spider.xml"));
   DataTable dt_xml=ds.Tables[0];
   for(int i=0;i<dt_xml.Rows.Count;i++)
   {
    if(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"].IndexOf(dt_xml.Rows[i]["name"].ToString())!=-1)
    {
     return true;
    }
   }
   return false;
  }

如果返回true表示"蜘蛛"请求是由蜘蛛发出的
Spider.xml

<?xml version="1.0" encoding="utf-8" ?>
<Spiders>

<Spider>
<describe>有道-网易</describe>
<name>YodaoBot</name>
</Spider>

<Spider>
<describe>百度</describe>
<name>Baiduspider</name>
</Spider>

<Spider>
<describe>搜狗</describe>
<name>sogou spider</name>
</Spider>

<Spider>
<describe>雅虎中国1</describe>
<name>Yahoo! Slurp China</name>
</Spider>

<Spider>
<describe>雅虎1</describe>
<name>Yahoo! Slurp</name>
</Spider>

<Spider>
<describe>雅虎中国2</describe>
<name>Yahoo Slurp China</name>
</Spider>

<Spider>
<describe>雅虎2</describe>
<name>Yahoo Slurp</name>
</Spider>

<Spider>
<describe>雅虎3</describe>
<name>Slurp</name>
</Spider>

<Spider>
<describe>雅虎图片</describe>
<name>Yahoo-MMCrawler</name>
</Spider>

<Spider>
<describe>雅虎Blog</describe>
<name>Yahoo-Blogs/v3.9</name>
</Spider>

<Spider>
<describe>谷歌</describe>
<name>Googlebot</name>
</Spider>

<Spider>
<describe>谷歌图片</describe>
<name>Googlebot-Image</name>
</Spider>

<Spider>
<describe>谷歌adsense</describe>
<name>Mediapartners-Google</name>
</Spider>

<Spider>
<describe>谷歌adwords</describe>
<name>Adsbot-Google</name>
</Spider>

<Spider>
<describe>MSN</describe>
<name>msnbot</name>
</Spider>

<Spider>
<describe>Teoma</describe>
<name>Teoma</name>
</Spider>

<Spider>
<describe>搜搜</describe>
<name>Sosospider</name>
</Spider>

<Spider>
<describe>SCOOTER</describe>
<name>Scooter</name>
</Spider>

<Spider>
<describe>IA</describe>
<name>ia_archiver</name>
</Spider>

<Spider>
<describe>LYCOS</describe>
<name>Lycos_Spider_(T-Rex)</name>
</Spider>

<Spider>
<describe>FAST</describe>
<name>FAST-WebCrawler</name>
</Spider>

</Spiders>

转载于:https://www.cnblogs.com/yejun/archive/2008/03/20/1115215.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,我们可以通过判断用户代理字符串来检测蜘蛛(或爬虫)是否访问网页。蜘蛛通常会通过网络爬虫程序访问网页并提取数据,所以通过判断用户代理字符串可以区分蜘蛛和普通用户。 首先,我们可以使用`navigator.userAgent`获取用户代理字符串。然后,通过正则表达式匹配常见的爬虫用户代理字符串。以下是判断用户代理字符串中是否包含爬虫关键词的示例代码: ```javascript var spiderKeywords = /bot|spider|crawl|slurp|search|feed|scan/i; var userAgentString = navigator.userAgent; if(spiderKeywords.test(userAgentString)){ // 如果用户代理字符串中包含爬虫关键词,则跳转到其他页面或执行相应操作 // 例如:window.location.href = "https://example.com/spider-page"; console.log("检测蜘蛛访问页面"); } else { // 如果用户代理字符串中不包含爬虫关键词,则继续执行其他操作 console.log("普通用户访问页面"); } ``` 在以上示例中,我们通过正则表达式`/bot|spider|crawl|slurp|search|feed|scan/i`匹配常见的爬虫关键词。如果用户代理字符串中包含这些关键词,那么就可以认定访问者是蜘蛛,可以进行相应的跳转或其他操作。如果用户代理字符串中不包含这些关键词,那么就认定访问者是普通用户,可以继续执行其他操作。 需要注意的是,虽然以上方法可以通过判断用户代理字符串大致识别蜘蛛,但不是绝对可靠的。一些高级的爬虫程序可能会伪造用户代理字符串,所以在实际应用中还需要结合其他方法来进行更严格的判断。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值