我们怎么知道我们的服务器是否完全禁止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请求标头)阻塞是不可靠的 。
Referer头。 Referer的方式构build。 事实上,在HTML5中,您只需要在锚点上设置rel="noreferrer" (two r's)属性,以防止浏览器发送Referer头(引用者策略的一部分)。 Referer标题。 (注意,有时候是“Referer”(1 r),有时候是“Referrer”(2 r)。)
参考:
https://stackoverflow.com/questions/5033300/stop-link-from-sending-referrer-to-destination