将参数传递给URL时出现HTTP 403错误

时间:2020-06-23 作者:alancc

我们的网站使用WordPress。当我们访问URL时https://www.datanumen.com/outlook-repair/?utm_source=adword 通过Chrome和FireFox等浏览器,我们可以看到一切都很好。然而,谷歌广告报道"Destination not working" URL错误,详细信息显示"HTTP error 403".

咨询谷歌专家后,他们使用https://httpstatus.io/ 并查找https://www.datanumen.com/outlook-repair/?utm_source=adword 将返回403代码。

但是,如果从URL中删除参数,则URLhttps://www.datanumen.com/outlook-repair/ 将返回200代码。

因此,URL中的参数似乎使其返回403代码以进行类似bot的访问。

我们找到了一个类似的帖子WordPress 403 issue when passing parameters in the URL, 但我们没有安装Cerber安全插件。我们使用WordFence Premium。我们试图禁用WordFence,但问题仍然存在。

我们尝试其他URLhttps://www.datanumen.com/outlook-repair-order/?utm_source=adword 它返回200。它和https://www.datanumen.com/outlook-repair/?utm_source=adword 后者是一个自定义帖子,我们使用Yoast SEO从永久链接中删除该类别。看来问题就出在这里。但我们不知道确切的原因。根据我们公司的要求,我们必须从permalink中删除该类别。

那么,如何解决这个问题呢?

Update:

我检查原始访问日志并找到以下相关行:

173.212.203.156 - - [22/Jun/2020:17:32:55 -0700] "HEAD /outlook-repair/?utm_source=adword HTTP/1.1" 403 - "https://www.datanumen.com/outlook-repair/?utm_source=adword" "WordPress/5.3.4; https://newproxylists.com"

173.212.203.156 - - [22/Jun/2020:17:32:56 -0700] "GET /outlook-repair/?utm_source=adword HTTP/1.1" 403 18394 "https://www.datanumen.com/outlook-repair/?utm_source=adword" "WordPress/5.3.4; https://newproxylists.com"

Update 2

更多测试:

禁用WordFense。仍然是403

Update 3

看来https://webmasters.stackexchange.com/questions/128675/can-i-test-if-my-sites-urls-have-403-errors-for-google-ads-bot 提到了和我一样的问题。

Update 4

我使用UpdraftPlus Migrator克隆网站https://www.datanumen.com/http://www.sybase-recovery.com/ , 然后在两个站点上进行测试,前者将返回403,后者将返回200。

Update 5

在更新4中,我对旧站点和新站点进行了更彻底的测试,最后在新站点中找到一个URL也返回403。新站点中的所有其他URL将继续返回200。stackexchange不再允许我在这篇文章中添加更多URL。无论如何,我可以从新站点中的特定URL开始查看问题所在。

1 个回复
SO网友:Michael Cropper

我可以保证,在您的技术堆栈(边缘CDN、防火墙、Web服务器、WordPress插件)的某个地方,您配置了一些东西,每当您尝试访问站点上的URL而未设置User Agent标头时,都会抛出403错误。因此,为什么当您在浏览器中访问时它会工作(因为它将包含用户代理标题),为什么当Google广告正在爬行时它会失败(可能是因为他们用于爬行的用户代理标题不在您的白名单中)。

用邮递员之类的东西进行测试以确认。

这些类型的“安全特性”都是胡说八道,欺骗用户代理头只需很少的知识,因此不可信。无论做什么,都要把它扔掉,因为它显然会带来更多的问题,而不是帮助。。。。然后得到一些提供实际安全性的东西。

事实上刚刚进行了一次快速播放(但将上述内容保留下来以供参考,因为听起来这不是您的问题,但知道它对于调试来说很方便……)。使用WordFence时,这样的插件在检测到“奇怪的查询字符串”时通常会发送403,这通常是设置之一。当你说关闭后问题仍然存在时,你是否也使用了缓存插件?如果是这样的话,请在使用它的任何地方关闭所有缓存(边缘CDN、防火墙、Web服务器、WordPress插件),然后我希望问题会消失。奇怪的是,它只发生在这一页上,这表明它要么被卡在缓存中,要么发生了更奇怪的事情。

调试的下一步,运行这些常用步骤,帮助您缩小问题范围,https://www.contradodigital.com/2016/08/12/how-to-debug-wordpress-problems/

猎得好!

相关推荐

Altered Media Library URLs

我有一个客户的网站,是在他们离开另一家代理机构后我找到的。该机构使用了一个专有主题和自己的自托管页面生成器,以防止其在除他们之外的任何其他托管环境中更新或编辑。它的另一个方面是重新映射主题的URL并上载目录。因此,例如,代替WP在中查找主题文件http://domain.com/wp-content/themes/…. 它在里面找他们http://domain.com/t/….同样,对于图像上载,也可以在http://domain.com/wp-content/uploads/…, 它在里面找他们http