如何检查403禁止的错误页面?

我们怎么知道我们的服务器是否完全禁止403错误? 我想知道,因为我使用.htaccess文件的代码是用来阻止引用网站和垃圾邮件机器人。

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} domain1\.com [NC,OR] RewriteCond %{HTTP_REFERER} domain2\.com [NC,OR] RewriteCond %{HTTP_REFERER} domain3\.com [NC] RewriteRule ^(.*)$ - [F,L] </IfModule> 

我使用该代码封锁了一个网站,但当我访问该网站并点击我的网站链接时,我的网站向我开放。 不应该收到一个403禁止的页面,因为引用者的网站是在.htaccess文件中列出的?

我如何检查我的网站是否支持403禁止页面? 代码是否正确?

有很多方法来伪造一个请求。 例如,您可以使用Postman( https://www.getpostman.com/postman ),或使用curl或请求等库。

在你的情况,你只需要改变标题中的Referer字段。

但当我访问该网站,并点击我的网站链接,我的网站打开罚款给我。 不应该收到一个403禁止的页面,因为引用者的网站是在.htaccess文件中列出的?

对于正常的链接,在正常情况下,是的。 您会希望请求被阻止。 但是,使用Referer (HTTP请求标头)阻塞是不可靠的

  • 用户的浏览器可以configuration为不发送Referer头。
  • 源站点上的锚/链接可以以不发送HTTP Referer的方式构build。 事实上,在HTML5中,您只需要在锚点上设置rel="noreferrer" (two r's)属性,以防止浏览器发送Referer头(引用者策略的一部分)。
  • 推荐人政策 (由Chrome和Firefox支持)允许网站阻止来自网站的所有链接的所有Referer标题。

(注意,有时候是“Referer”(1 r),有时候是“Referrer”(2 r)。)

参考:
https://stackoverflow.com/questions/5033300/stop-link-from-sending-referrer-to-destination