1

サーバーに PHP ファイルがありますが、正しい参照を持たないユーザーにアクセスさせたくありません。

これは私の現在のルールです。

RewriteCond %{REQUEST_URI} .streamer\.php*
RewriteCond %{HTTP_REFERER} !.*domain.com.*
RewriteRule .* - [F]

このルールは十分にフレンドリーmod_rewriteですか? それとも、少し掃除や片付けが必要ですか?それは機能しますが、私は専門家ではなくmod_rewrite、私の方法よりも優れたコードがあると確信しています.

4

1 に答える 1

1

%{REQUEST_URI}条件をルール自体と組み合わせることができ、リファラー正規表現をクリーンアップできます。

RewriteCond %{HTTP_REFERER} !^https?://[^/]+\.domain\.com/? [NC]
RewriteRule .streamer\.php - [F]

これにより、リンクをコピーしてブラウザーの URL アドレス バーに直接貼り付けた場合など、空白のリファラーもブロックされることに注意してください。空白のリファラーを許可する場合は、条件を追加する必要があります。

RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^https?://[^/]+\.domain\.com/? [NC]
RewriteRule .streamer\.php - [F]
于 2013-03-07T02:29:42.563 に答える