4

こんにちは、特定の IP アドレス (HTTP:X-FORWARDED-FOR アドレス) のみがファイルにアクセスできるようにする必要があります。私は次の方法でそれを行いました

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP:X-FORWARDED-FOR} !^xxx.xxx.x.xx$
RewriteRule ^$ http://xxx.xxx.x.xx/access_denie.php [R=301,L]

今度は、yyy.yy.y.yy などの複数の IP を許可する必要があります。htaccess を使用してどのように行うことができますか

4

2 に答える 2

12

^xxx.xxx.x.xx$yourの部分RewriteCondは単なる正規表現です。グループを使用して、IP アドレスを簡単に追加できます。

^(xxx\.xxx\.x\.xx|yyy\.yy\.y\.yy)$

.バックスラッシュですべての s をエスケープしていることに気付くでしょう。これは.、正規表現で特別な意味を持ち、リテラル文字のみに一致させたい場合はエスケープする必要があるためです.

したがって、新しいRewriteCondものは次のようになります。

RewriteCond %{HTTP:X-FORWARDED-FOR} !^(xxx\.xxx\.x\.xx|yyy\.yy\.y\.yy)$

文字で区切るだけで、簡単に IP アドレスを追加できます|

ただし、このアプローチでは実際のセキュリティが得られないことに注意してください。これを回避するためにリクエストを偽装するのは簡単です。セキュリティが必要な場合は、代わりに SSL と適切な認証システムを使用する必要があります。

于 2012-12-18T12:02:19.647 に答える