使用Python搜索不存在的资产的站点

时间:2020-10-18 作者:Trisha

我最近开始更加关注我的404错误,以便尽可能地清理并改进我的站点的SEO和排名,并且注意到了一些我不理解的东西。

在我的404错误日志中,我看到很多由用户代理执行的搜索如下所示:

python请求/2.23.0 python-requests 2.23.0

还有几个相似的。。。。。但他们都在请求不存在的文件。

python搜索是什么?他们像坏机器人吗?如何阻止或阻止它们?

我也有很多糟糕的机器人程序,我在我的中找到了一个旧的(2017)资源,其中包含一些代码,可以通过用户代理阻止它们。htaccess文件,我实现了它,但它似乎不起作用-我仍然看到那些坏机器人的日志,它们也请求大部分不存在的资源,以及许多附加了/email或/print的帖子。。。。。有没有真正有效的方法来阻止坏的用户代理?

2 个回复
最合适的回答,由SO网友:MrWhite 整理而成

python搜索是什么?他们像坏机器人吗?

很可能只是;坏机器人程序“;搜索潜在漏洞。

如何阻止或阻止它们?

嗯,从声音上看,你已经在为404服务了,所以这真的不是问题。但是,您可以通过在早期阻止请求来阻止请求通过WordPress.htaccess, 就像你可能已经在做的那样。

例如,在.htaccess 文件:

RewriteCond %{HTTP_USER_AGENT} python [NC]
RewriteRule ^ - [R=404]
对于来自用户代理的任何请求,上面会发送一个404 Not Found,其中包含;python“;(不区分大小写)。

然而,用户代理的阻塞并不一定那么可靠,因为;坏机器人程序“;假装是普通用户。

我在我的中找到了一个较旧的(2017)资源,其中包含一些代码,可以通过用户代理阻止它们。我实现了htaccess文件,但它似乎不起作用-我仍然可以看到那些坏机器人的日志

如果您阻止;“坏机器人”;在里面.htaccess 您仍将在服务器的访问日志中看到该请求。但是,如果被阻止,日志条目应显示HTTP状态为403或404。

要完全阻止请求访问服务器(并出现在服务器日志中)的唯一方法是,如果您的前端代理服务器/防火墙;屏幕“;您的所有请求。

SO网友:Tom J Nowell

用户代理可以是任何东西,设置它们的是客户端,因此我可以向您的站点发出curl请求,并告诉curl我的用户代理将是;“汤姆是最好的”;

python请求/2.23.0 python-requests 2.23.0

这个特定的用户代理意味着python请求库正在发出请求,但没有关于使用该库的内容或原因的线索(https://pypi.org/project/requests/ ).

至于阻止它们,这是你在比WordPress更深层次上要做的事情。您似乎已经熟悉Apache HTAccess,可能有更低的级别可以阻止它们,或者由您的主机或代理阻止它们<这将超出此网站的范围

至于他们为什么要求不存在的资源,可能有很多原因:

其他地方的一个网站正在引用它们,而这些机器人正在爬过并攻击404。它们是漏洞利用,恶意软件会定期发射并忘记它们的整个武库,希望其中一个能起作用。他们甚至懒得检查返回的内容,我的WP站点经常受到Drupal漏洞的攻击,尽管这些漏洞完全无效

  • 在站点重建之前,这些资产可能已经在域中的旧站点上可用,唯一确定的方法是找到做这件事的人并询问他们,这通常是不可能的。

  • 相关推荐

    如果url以“News”结尾,则htaccess修改标题

    我有一个wordress页面/mysite/news 我正在尝试使用javascript将其加载到另一个站点。这是一种自然的cors冲突,因此我将cors设置为*以绕过该问题,前提是url为/mysite/news但是,以下操作不起作用。我怀疑REQUEST\\u URI实际上正在解析为index.php?page=xxx 但我不确定。我怎样才能避开cors问题?<If \"%{REQUEST_URI} =~ m#news\\/?$#\"> Header always set Ac