Forbidden

如何查看 403 禁止錯誤頁面?

  • June 12, 2021

我們如何知道我們的伺服器是否完美地給出了 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>

我使用該程式碼阻止了一個網站,但是當我訪問該網站並點擊我的網站連結時,我的網站對我來說可以正常打開。由於引薦網站在 .htaccess 文件中列出,我不應該收到 403 禁止頁面嗎?

如何檢查我的網站是否支持 403 禁止頁面?程式碼是否正確?

有很多方法可以偽造請求。例如,您可以使用 Postman ( https://www.getpostman.com/postman ),或者使用 curl 或 request 之類的庫。

在您的情況下,您只需更改標頭中的 Referer 欄位。

但是當我訪問該網站並點擊我的網站連結時,我的網站對我來說可以正常打開。我不應該收到一個 403 禁止頁面,因為引薦網站已列在.htaccess文件中嗎?

對於正常的連結,在正常情況下,是的。您會期望該請求被阻止。Referer但是,使用(HTTP 請求標頭)進行阻止是不可靠的。

  • 使用者的瀏覽器可以配置為不發送Referer標頭。
  • 可以以不發送 HTTP 的方式構造源站點上的錨點/連結Referer。事實上,在 HTML5 中,您只需要rel="noreferrer"在錨點上設置(兩個 r 的)屬性,以防止瀏覽器發送Referer標頭(Referrer Policy 的一部分)。
  • 推薦人策略(受Chrome 和 Firefox 支持)允許網站阻止Referer來自網站的所有連結上的所有標題。

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

參考:

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

引用自:https://serverfault.com/questions/870798