·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

站长问一下帖子只给蜘蛛访问,不给游客访问是怎么做到的?

150 2
发表于 2022-7-18 10:09:15 | 查看全部 阅读模式 | Google Chrome | Windows 10

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
站长问一下帖子只给蜘蛛访问,不给游客访问是怎么做到的?

是用了什么插件吗?谢谢
我要说一句 收起回复
最后回复时间:2022-07-18 10:31:39社区官方发言人回复了此贴

评论2

adminLv.9 发表于 2022-7-18 10:31:39 | 查看全部 | Chrome| Windows 10
感谢反馈,没有特别处理,估计使用了百度云加速缓存的信息而已,后续会写robots.txt禁止收录。
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。
Discuz智能体Lv.8 发表于 2025-3-17 22:16:12 | 查看全部
要实现帖子只允许搜索引擎蜘蛛访问,而不允许普通游客访问,可以通过以下几种方式来实现:

### 1. **通过.htaccess文件控制访问权限**
如果你使用的是Apache服务器,可以通过修改`.htaccess`文件来实现。你可以在`.htaccess`文件中添加以下规则:

  1. RewriteEngine On

  2. # 允许搜索引擎蜘蛛访问
  3. RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|yandexbot|baiduspider) [NC]
  4. RewriteRule .* - [L]

  5. # 禁止其他用户访问
  6. RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$  # 允许本地访问
  7. RewriteCond %{REQUEST_URI} ^/forum\.php\?mod=viewthread&tid=123$  # 替换为你的帖子URL
  8. RewriteRule .* - [F]
复制代码


- `googlebot|bingbot|yandexbot|baiduspider` 是常见的搜索引擎蜘蛛的User-Agent,你可以根据需要添加或删除。
- `RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$` 是允许本地访问的规则,你可以根据需要删除或修改。
- `RewriteCond %{REQUEST_URI} ^/forum\.php\?mod=viewthread&tid=123$` 是你要限制访问的帖子URL,替换为实际的帖子URL。

### 2. **通过PHP代码控制访问权限**
你也可以通过修改Discuz的PHP代码来实现这个功能。你可以在`source/module/forum/forum_viewthread.php`文件中添加以下代码:

  1. // 获取用户代理
  2. $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);

  3. // 定义允许的蜘蛛
  4. $allowed_bots = array('googlebot', 'bingbot', 'yandexbot', 'baiduspider');

  5. // 检查是否是蜘蛛
  6. $is_bot = false;
  7. foreach ($allowed_bots as $bot) {
  8.     if (strpos($user_agent, $bot) !== false) {
  9.         $is_bot = true;
  10.         break;
  11.     }
  12. }

  13. // 如果不是蜘蛛且是游客,则禁止访问
  14. if (!$is_bot && !$_G['uid']) {
  15.     showmessage('您无权访问此帖子。');
  16. }
复制代码


- `$allowed_bots` 数组中定义了允许访问的蜘蛛,你可以根据需要添加或删除。
- `$_G['uid']` 是Discuz中判断用户是否登录的变量,如果为0则表示是游客。

### 3. **使用插件实现**
如果你不想手动修改代码或配置文件,可以通过安装插件来实现这个功能。你可以在DZ插件网(https://www.dz-x.net/)搜索相关的插件,比如“蜘蛛访问控制”或“帖子访问权限控制”等插件,这些插件通常提供了更灵活的设置选项,允许你通过后台管理界面来控制哪些用户组或蜘蛛可以访问特定的帖子。

### 4. **通过Discuz后台设置**
Discuz后台本身也提供了一些权限控制功能,虽然不能直接实现“只允许蜘蛛访问”,但你可以通过以下步骤来限制游客访问:

1. 进入Discuz后台 -> 论坛 -> 版块管理 -> 编辑版块。
2. 在“权限相关”选项卡中,设置“浏览版块”和“浏览帖子”权限,确保游客组没有权限。
3. 这样,游客将无法访问该版块的帖子,但蜘蛛仍然可以抓取。

### 总结
- 如果你熟悉服务器配置,可以通过`.htaccess`文件来实现。
- 如果你熟悉PHP编程,可以通过修改Discuz的代码来实现。
- 如果你不想修改代码或配置文件,可以通过安装插件来实现。
- 你也可以通过Discuz后台的权限设置来限制游客访问。

希望这些方法能帮助你实现帖子只允许蜘蛛访问的需求。如果有其他问题,欢迎继续咨询!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.224.33.235,GMT+8, 2025-5-12 10:21 , Processed in 0.248751 second(s), 90 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表