
<?php
// 获取用户代理字符串
$user_agent = isset($_SERVER[‘HTTP_USER_AGENT’]) ? $_SERVER[‘HTTP_USER_AGENT’] : ”;
// 检查用户代理是否是搜狗蜘蛛
$is_sogou_spider = false;
if (strpos($user_agent, ‘Sogou’) !== false || strpos($user_agent, ‘sogou’) !== false) {
$is_sogou_spider = true;
}
// 如果来自搜狗蜘蛛,则进行屏蔽处理
if ($is_sogou_spider) {
// 设置 HTTP 状态码为 403 Forbidden
header(‘HTTP/1.1 403 Forbidden’);
// 输出一条消息并终止脚本执行
echo ‘访问被禁止:您来自搜狗蜘蛛的访问不被允许。’;
exit();
}
// 如果不是来自搜狗蜘蛛,继续正常执行你的脚本
echo ‘欢迎访问!’;
?>
代码说明
-
获取用户代理字符串:
- 使用
$_SERVER['HTTP_USER_AGENT']获取当前请求的用户代理字符串。
- 使用
-
检查用户代理:
- 使用
strpos函数检查用户代理字符串是否包含Sogou或sogou(不区分大小写)。
- 使用
-
处理屏蔽逻辑:
- 如果检测到用户代理是搜狗蜘蛛,则设置 HTTP 状态码为 403 并输出一条禁止访问的消息,然后终止脚本执行。
-
正常访问:
- 如果用户代理不是搜狗蜘蛛,则继续执行后续脚本。
注意事项
- 用户代理字符串可能会被伪造,因此这种方法不能完全保证屏蔽所有搜狗蜘蛛的访问。
- 对于更复杂的访问控制需求,你可能需要结合其他技术,如 IP 地址过滤、robots.txt 文件配置等。
- 此代码只是基本的屏蔽实现,具体应用中可能需要根据实际情况进行调整。
使用京策盾高防CDN可以完美杜绝这个问题,免去修改代码的烦恼






