gpt4 book ai didi

c# - 检测访问者是否是浏览器而不是爬虫

转载 作者:可可西里 更新时间:2023-11-01 16:24:52 25 4
gpt4 key购买 nike

服务器端如何检测网页的用户是否是浏览器?

检测到这一点的原因是,我正在存储有关已访问页面的统计信息,并且当用户是爬虫时我不想存储任何统计信息。所以我不想检测哪个浏览器供应商。我只想要一个 bool 值答案,用户是浏览器吗。

我假设答案与用户代理 header 有关,但可能的值太多了,我无法弄清楚。我怎样才能检测到它?一个 90% 的解决方案,我只检测最流行的 Top5 浏览器就足够了。

我使用的是 C# ASP.Net,但我想大多数其他语言和框架的解决方案都可以翻译。

最佳答案

此代码绝不是详尽无遗的,但可以为您提供 PHP 的基础知识。我不能保证有一些不会漏网,但这应该会捕获大多数浏览器并忽略大多数机器人。

<?php
// Regular expression to match common browsers
$browserlist = '/(opera|aol|msie|firefox|chrome|konqueror|safari|netscape|navigator|mosaic|lynx|amaya|omniweb|avant|camino|flock|seamonkey|mozilla|gecko)+/i';

// Test for browsers
if (preg_match($browserlist, $_SERVER['HTTP_USER_AGENT'])) {
// ...is a browser
} else {
// ...is not a browser
}
?>

关于c# - 检测访问者是否是浏览器而不是爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1537575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com