2017-04-24 66 views
0

this“伪装是指呈现不同内容或网址人类用户和搜索引擎的做法”相同的链路给出例子如:隐形背后的机制是什么?

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

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

回答

1

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

这是传递到服务器上从一个浏览器的请求,用户代理字符串:

“的Mozilla/5.0(Windows NT的10.0; Win64的; 64)为AppleWebKit/537.36(KHTML,例如Gecko)镀/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