禁止网站上的机器人[关闭]

2024-01-01

我的网站经常宕机,因为蜘蛛正在访问许多资源。这是主持人告诉我的。他们告诉我禁止这些 IP 地址: 46.229.164.98 46.229.164.100 46.229.164.101

但我不知道如何做到这一点。

我用谷歌搜索了一下,现在将这些行添加到根目录中的 .htaccess 中:

# allow all except those indicated here
<Files *>
order allow,deny
allow from all
deny from 46.229.164.98
deny from 46.229.164.100
deny from 46.229.164.101
</Files>

这是100%正确的吗?我能做什么? 请帮我。真的,我不知道我应该做什么。


基于这些

https://www.projecthoneypot.org/ip_46.229.164.98 https://www.projecthoneypot.org/ip_46.229.164.98 https://www.projecthoneypot.org/ip_46.229.164.100 https://www.projecthoneypot.org/ip_46.229.164.100 https://www.projecthoneypot.org/ip_46.229.164.101 https://www.projecthoneypot.org/ip_46.229.164.101

it looks就像机器人一样http://www.semrush.com/bot.html http://www.semrush.com/bot.html

如果那真的是机器人,他们在他们的页面上说

To remove our bot from crawling your site simply insert the following lines to your
"robots.txt" file:

User-agent: SemrushBot
Disallow: /

当然,这并不能保证机器人会遵守规则。您可以通过多种方式阻止他。 .htaccess 就是其中之一。就像你做的那样。

你也可以做这个小技巧,拒绝任何在用户代理字符串中包含“SemrushBot”的 IP 地址

Options +FollowSymlinks  
RewriteEngine On  
RewriteBase /  
SetEnvIfNoCase User-Agent "^SemrushBot" bad_user
SetEnvIfNoCase User-Agent "^WhateverElseBadUserAgentHere" bad_user
Deny from env=bad_user

这种方式将阻止机器人可能使用的其他 IP。

查看有关通过用户代理字符串阻止的更多信息:https://stackoverflow.com/a/7372572/953684 https://stackoverflow.com/a/7372572/953684

我应该补充一点,如果你的网站被蜘蛛关闭了,usually这意味着你的脚本写得不好或者服务器很弱。

edit:

这条线

SetEnvIfNoCase User-Agent "^SemrushBot" bad_user

尝试匹配如果用户代理开始于字符串SemrushBot(插入符号^意思是“开始于”)。如果你想搜索的话SemrushBot在 User-Agent 字符串中的任何位置,只需删除插入符号即可变为:

SetEnvIfNoCase User-Agent "SemrushBot" bad_user

上面的意思是如果 User-Agent 包含字符串SemrushBot任何地方(是的,不需要.*).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁止网站上的机器人[关闭] 的相关文章

  • BotFramework:“状态大小超出了配置的限制。”

    我正在开发一个机器人 每当我在表单流中 PostAsync 英雄卡 50 张英雄卡 时 最后它都会给我一条错误消息 状态大小超出了配置的限制 来自 Microsoft Bot Connector DLL 尝试 setPrivateConve
  • WebClient 下载字符串与 WebBrowser 查看源代码不同

    我正在创建一个 C 4 0 应用程序来使用 Web 客户端下载网页内容 网络客户端功能 public static string GetDocText string url string html string Empty try usin
  • 如何通过php从外部网页获取内容?

    我想获取网页中的 标题 描述和关键字 我知道实现这项工作的 3 种方法 a 使用CURL b 使用 fopen c 使用 get meta data 奇怪的是 上述每一项都不能每次都正常工作 对于相同的网址 有时 我可以获得内容 有时 它会
  • 微软机器人框架自行崩溃[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我收到这个令牌请求 error invalid request error description AADSTS90002 No
  • 如何保护/监控您的网站免遭恶意用户抓取

    情况 网站内容受用户名 密码保护 并非全部受控 因为他们可以是试用 测试用户 由于用户名 密码限制 普通搜索引擎无法获取它 恶意用户仍然可以登录并将会话 cookie 传递给 wget r 或其他东西 问题是监控此类活动并对其做出响应的最佳
  • puppeteer 通过启用 cookie 和 Javascript 绕过 cloudflare

    仅在 NodeJs gt 服务器端 我正在做一些网页抓取 一些页面受到 cloudflare anti ddos 页面的保护 我正在尝试绕过此页面 通过搜索 我发现了很多关于隐身方法或 reCapcha 的文章 但问题是 cloudflar
  • 无法从 Scrapy 脚本访问 request.response.meta['redirect_urls']

    我无法访问request response meta redirect urls 来自我的 Scrapy 脚本 但在 Scrapy shell 中访问同一网页的此信息没有问题 当我打印钥匙时request response meta我只看到
  • 我们可以动态添加文本字段吗

    我在我的聊天机器人中创建了一个自适应卡 使用 json 它接受用户的输入 我想添加一个按钮 使用户每次单击插入字段时都可以添加新的文本字段 即 用户可以单击插入按钮输入教育详细信息 学校 学院等 这可以在自适应卡中实现吗 我也想知道 自适应
  • 将 >100K 页面链接在一起而不会受到 SEO 惩罚

    我正在创建一个网站 该网站将审查互联网上数十万个其他网站的隐私政策 它的最初内容是基于我的运行普通爬行 http commoncrawl org 50 亿页网络转储和分析所有隐私政策 https stackoverflow com ques
  • Facebook Messenger 平台/机器人欢迎配置出现奇怪错误

    我在为 Messenger 机器人配置欢迎消息时遇到奇怪的错误 我一直在使用相同的代码 如下所示 直到昨晚它一直工作正常 我尝试了 cURL 和Postman https www getpostman com 它们都不起作用 curl X
  • 使用 Microsoft bot 框架下载文件(pdf/图像)

    我想下载文档 图像 文档 图像位于互联网上 我给出了它的路径 但它不起作用 但是 如果我只是评论附件部分 我就能从 BOT 那里得到 嗨 让控制器像这样 BotAuthentication public class MessagesCont
  • 如何查找网站上的所有链接/页面

    是否可以找到任何给定网站上的所有页面和链接 我想输入一个 URL 并生成该站点所有链接的目录树 我查看过 HTTrack 但它下载了整个站点 我只需要目录树 查看链接检查器 https linkchecker github io linkc
  • 用scrapy一一爬取网站列表

    我正在尝试抓取网站列表scrapy 我尝试将网站网址列表作为start urls 但后来我发现我买不起那么多内存 有什么办法可以设置scrapy一次抓取一两个网站 您可以尝试使用concurrent requests 1以免数据超载 htt
  • php将所有链接转换为绝对url

    我正在用 php 编写一个网站爬虫 并且我已经有了可以从网站提取所有链接的代码 问题 网站使用绝对 URL 和相对 URL 的组合 示例 http 替换为 hxxp 因为我无法发布超链接 hxxp site com site com sit
  • Scrapy蜘蛛抓取页面和抓取项目之间的区别

    我正在编写一个 Scrapy CrawlSpider 它读取第一页上的 AD 列表 获取一些信息 例如列表和 AD url 的缩略图 然后向每个 AD url 发出请求以获取其详细信息 它在测试环境中工作和分页显然很好 但今天试图进行完整的
  • 查找API端点的方法

    API探索 尽管有几个问题涉及该主题 但我找不到解决我想要理解的核心概念的问题 如果知道 API 的根结构 我们可以想象一下http stackoverflow com api service 我们可以成功地从已知端点检索结果 比方说htt
  • 批量删除如何工作?

    我尝试使用bulkDelete让我的机器人删除其消息 但我收到此错误 node 5724 UnhandledPromiseRejectionWarning Unhandled promise rejection rejection id 1
  • 自动更改 github 文件

    我制作了一个带有白名单的应用程序 withelist 位于 github 存储库上 只有一个文件 即 withelist 每次下载我的应用程序的用户想要被允许使用该应用程序时 都必须向我发送一个消息插入白名单 现在这个过程真的很慢 我想加快
  • Phantom JS 50% 的时间失败

    我搜索一个文本框 然后尝试用字符串填充它 这是代码 var fname driver FindElement By Name iFirstName 50 if fname null do System Threading Thread Sl
  • Scrapy仅抓取网站的一部分

    您好 我有以下代码来扫描给定站点中的所有链接 from scrapy item import Field Item from scrapy contrib spiders import CrawlSpider Rule from scrap

随机推荐

  • CakePHP 验证不起作用

    我是 cakephp 的新手 我需要验证表单 这是代码 控制器
  • 颜色检测算法 - 我应该怎么做?

    我在设计颜色检测系统方面有点陷入困境 我不太想出一种轻松完成它的方法 基本上 我有一个图像库 我想按颜色排序 因此 如果用户指定 按蓝色排序 则蓝色最多的图像将出现在结果的顶部 蓝色最少的图像将出现在底部 问题是图像并不全是一种颜色 所以它
  • c 中的 doxygen:定义分组

    我正在使用 doxygen 记录 C 代码 为了使文档更具可读性 我希望至少使用 defgroup 和 ingroup 将每个 c h 文件对中的代码添加到一组 在这些组中 我想使用 name 块将一些定义分组 在一起 文件 页面中的结果看
  • ASP.NET Core 中的声明问题(更新数据库后用户仍然有一些声明)

    我正在学习 asp net core 但我陷入了困境 我会尝试以某种方式解释 问题在于用户索赔 当我登录网站时 用户可以创建和删除声明并且所有工作都可以进行 但是 当该用户更改他无法删除某些内容时 更新数据库后他仍然可以 在数据库中删除消失
  • 禁用sequelize.js中的updatedAt(更新日期)字段

    I used sequelize auto生成模式 我尝试使用findOne 我得到了这个错误 未处理的拒绝 SequelizeDatabaseError 列名无效 更新时间 在我的数据库表中 没有字段updatedAt 例如我的表名是Us
  • 直接从模型实例化查询构建器

    当我做类似的事情时SomeModel with user 它返回一个Query Builder实例 我怎样才能获得这个实例而不需要调用with 或类似的 例如 我尝试过 new SomeModel 但它显然会返回我的模型的实例 而不是查询生
  • GNU Makefiles 中是否有类似 python 装饰器的机制?

    我发现自己在 Makefile 中声明 GNU make 目标是假的两种可能性之间有点左右为难 一是一次性宣布所有假货 PHONY targ1 targ2 targ3 targ1 targ2 targ3 其优点是 对我来说 更具可读性并且更
  • 使用 OR 运算符的复合查询 flutter 和 firebase [重复]

    这个问题在这里已经有答案了 我正在创建一个 flutter 应用程序 它应该查询 Firestore 集合并在满足两个条件时返回结果 这是我的代码 Stream
  • Flutter ImageIcon 显示图像白色或黑色

    所以我一直在尝试使用我存储在资产中的图片并将其用作徽标 这样我就可以将徽标制作成动画 而不仅仅是将其作为静态图片 但徽标始终只显示白色 或者当我尝试将其包裹并将颜色设置为空时 它会显示全黑色 所以想知道如何让它显示我的原始图像 new Ic
  • 如何通过套接字共享 Perl 数据结构?

    在套接字中我编写了客户端服务器程序 首先 我尝试在其中发送普通字符串 它发送得很好 之后 我尝试将哈希值和数组值从客户端发送到服务器 再将服务器发送到客户端 当我使用 Dumper 打印这些值时 它只提供参考值 我应该怎么做才能获取客户端服
  • Android 以编程方式在消息应用程序中插入具有不正确时间戳的短信

    我尝试使用未记录的内容提供程序 content sms 将短信插入收件箱 并且插入成功 然后我在消息应用程序中检查新插入的消息 但是显示的时间始终是插入完成的实时时间 而不是我在 ContentValues 中指定的时间 单击并查看消息线程
  • PyQt5 - 撤消实施

    我需要在此小部件中实现撤消功能 使用组合键 Ctrl Z 激活 我可以在传递给构造函数的输入中的图像上绘制线条 因此 我们的想法是从行列表中删除最后一项 我每次绘制一行时都会向此列表中添加一条行 并在按 Ctrl Z 时重新绘制所有其他行
  • 如何在 SwiftUI 中显示来自数据源(如 UITableView)的视图列表

    在 SwiftUI 中 我们有List代表可重复使用的物品 就像UITableView in UIKit 静态列表的构建如下 List Text cell Text cell Text cell Text cell 但好像是这样不可重复使用
  • 如何使用 page.find 通过 rspec 测试查找变量

    我有一个测试用例 我的大多数其他页面至少有一个字段只是纯文本 可以使用以下方式找到 page find tr text What I filled in find a tick click 本页所有选项都是下拉选择 那么如何找到变量呢 其余
  • Python 3.X 中 classname.attribute 和 self.attribute 有什么区别

    有如下两段代码 class State country China def init self print State country obj State and class State country China def init sel
  • 如何自动注入状态参数

    Abstract 你好 我在我的项目中使用 Angular ui router 我有大量的嵌套状态和不同的视图 这些视图又包含大量不同的输入 用户逐步增量地填充这些输入 问题 有时用户需要位于上一步的附加信息 浏览器的 后退 按钮可以帮助用
  • 如何在c中创建自定义数据包?

    我正在尝试使用 TCP IP 协议使用 C 语言制作自定义数据包 当我说自定义时 我的意思是能够更改数据包中的任何值 例如 MAC IP 地址等 我尝试四处搜索 但找不到任何实际指导我或给我示例源代码的东西 如何创建自定义数据包或者我应该在
  • 从 Facebook 墙到 Android 应用程序的新闻提要

    有什么方法可以将 Facebook 墙上的最后一个帖子转移到 Android 应用程序中吗 我想制作一些类似 RSS 阅读器来获取一些有关应用程序的信息 为了更好地解释 我在 Facebook 上有一个关于一个足球俱乐部的页面 在那里我发布
  • 对于项目外的文件,如何在java中将File转换为IFile?

    通常 此代码用于从File to IFile IWorkspace workspace ResourcesPlugin getWorkspace IPath location Path fromOSString file getAbsolu
  • 禁止网站上的机器人[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的网站经常宕机 因为蜘蛛正在访问许多资源 这是主持人告诉我的 他们告诉我禁止这些 IP 地址 46 229 164 98 46 229