【问题标题】:What is mechanism behind cloaking?隐形背后的机制是什么?
【发布时间】:2017-09-20 13:29:31
【问题描述】:

根据this “伪装是指向人类用户和搜索引擎呈现不同的内容或URL的做法”相同的链接给出的示例如下:

Serving a page of HTML text to search engines, while showing a page of images or Flash to users

问题:如果我的解释正确的话,在网络服务器上必须有一种识别实体的机制,无论是搜索引擎还是浏览器(用户)。我们把这种机制称为什么?或者它只是一个重定向的 php 或 JavaScript 代码?网络服务器如何真正知道实体'X' 搜索引擎和实体'Y' 是网络浏览器?

【问题讨论】:

    标签: php web webserver cloaking


    【解决方案1】:

    用户代理是识别客户端的好方法。

    这是根据浏览器请求传递给服务器的用户代理字符串:

    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"

    来自谷歌:

    Mozilla/5.0(兼容;Googlebot/2.​​1;+http://www.google.com/bot.html

    来自必应:

    Mozilla/5.0(兼容;bingbot/2.​​0;+http://www.bing.com/bingbot.htm

    要将它们与 PHP 一起使用,您可以执行以下操作:

    if (strpos($_SERVER['HTTP_USER_AGENT'],'bot') !== false) {
        // This is probably a bot
    }
    

    如果您想更精确一点,您可能还需要检查链接,如下所示:

    $userAgent = $_SERVER['HTTP_USER_AGENT'];
    if (strpos($userAgent,'bot') !== false && strpos($userAgent,'http') !== false) {
        // It is probably a bot
    }
    

    这个问答展示了如何使用 Apache 来根据用户代理交付不同的内容:Rewrite rule for user agent with mod_rewrite

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2015-01-14
      • 2022-11-17
      • 2022-01-10
      • 1970-01-01
      相关资源
      最近更新 更多