当前位置:首页 » 解决案例 » 正文

如何屏蔽来自于百度的访问,屏蔽来自百度跳转访问的PHP代码

如何屏蔽来自于百度的访问,屏蔽来自百度跳转访问的PHP代码

<?php
// 获取引导用户访问当前页面的页面的 URL
$referer = isset($_SERVER[‘HTTP_REFERER’]) ? $_SERVER[‘HTTP_REFERER’] : ”;

// 检查 referer 是否来自百度
$baidu_domains = [‘baidu.com’, ‘www.baidu.com’, ‘m.baidu.com’];
$is_from_baidu = false;

foreach ($baidu_domains as $domain) {
if (strpos($referer, $domain) !== false) {
$is_from_baidu = true;
break;
}
}

// 如果来自百度,则进行屏蔽处理
if ($is_from_baidu) {
// 可选择输出一条消息并终止脚本执行
header(‘HTTP/1.1 403 Forbidden’);
echo ‘访问被禁止:您来自百度的跳转访问不被允许。’;
exit();

// 或者重定向到其他页面
// header(‘Location: http://example.com/some-other-page’);
// exit();
}

// 如果不是来自百度,继续正常执行你的脚本
echo ‘欢迎访问!’;
?>

 

代码说明

  1. 获取 Referer

    • 使用 $_SERVER['HTTP_REFERER'] 获取引导用户访问当前页面的页面的 URL。
  2. 检查 Referer

    • 定义一个包含百度域名的数组 $baidu_domains
    • 使用 strpos 函数检查 Referer 是否包含百度域名。
  3. 处理屏蔽逻辑

    • 如果检测到 Referer 来自百度,则设置 HTTP 状态码为 403 并输出一条禁止访问的消息,然后终止脚本执行。
    • 你也可以选择重定向到其他页面,而不是直接终止访问。
  4. 正常访问

    • 如果 Referer 不是来自百度,则继续执行后续脚本。

注意事项

  • HTTP_REFERER 字段可能不会被所有浏览器或代理发送,或被用户或代理修改,因此不能完全依靠它来做安全相关的决策。
  • 此代码只是基本的屏蔽实现,对于更复杂的场景,可能需要更高级的访问控制策略。

使用京策盾高防CDN可以完美杜绝这个问题,免去修改代码的烦恼

京策盾高防CDN或者京策盾高防IP产品

京策盾高防CDNhttps://www.jcdun.com/guoneigaofangcdn

京策盾高防IPhttps://www.jcdun.com/guoneigaofangip

分享到
上一篇
下一篇

相关推荐

联系我们

kakuyunke

复制已复制
4692403复制已复制
kefu#0ka.co复制已复制
微信小程序
kakuyunke复制已复制
关注官方微信,了解最新资讯
contact-img
客服QQ
在线客服