IPによる管理領域へのアクセスの制限


回答:


9

次のコードを.htaccessファイルに配置できます:-

RewriteCond %{REQUEST_URI} ^/(index.php/)?admin/ [NC]
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1
RewriteRule ^(.*)$ http://%{HTTP_HOST}/ [R=302,L]

1.1.1.1あなたのIPアドレスはどこですか。

*最後の行では、http://との間にスペースがないことを確認して%{HTTP_HOST}/ください。StackExchangeはコードのhttp://%投稿を許可しないため、間にスペースを追加する必要があります。


1
このコードは、アドミンの後にスラッシュを付けて(admin /)、スラッシュの後に何かを付けて(admin / abc)、アドミンページからリダイレクトします。しかし、管理ページはまだ「myeshop.com/admin」にロードされています。最後のスラッシュなしのルール(RewriteCond%{REQUEST_URI} ^ /(index.php /)?admin [NC])を使用して、ページの読み込みを防止する方がよい
Martin

5

Nginxを使用している場合:

location ~* ^/(index\.php/bcknd|bcknd) {
    allow 1.1.1.1;

    try_files $uri $uri/ /index.php?$args;
    location ~* \.php$ { try_files /dummy @proxy; }
    deny all;
}

4

複数は、別のマッチラインを追加することによって処理されます

RewriteCond %{REQUEST_URI} ^/(index.php/)?admin(.*) [NC] 
RewriteCond %{REMOTE_ADDR} !^10\.1\.1\.10
RewriteCond %{REMOTE_ADDR} !^10\.2\.1\.10
RewriteRule .* - [F,L]

基本的には、このURLが正規表現であり、これらのアドレスではなく403である場合、403に変換されます。


ただドキュメントを読んでください:あなたが指定した場合F、それLは暗示されます。httpd.apache.org/docs/2.4/rewrite/flags.html。「[F]を使用すると、[L]が暗黙的に指定されます。つまり、応答はすぐに返され、それ以上のルールは評価されません。」
johnsnails

2

また、仮想ホストファイルのhttpd構成で「許可」ルールを設定することもできます。また、セキュリティを強化するために管理URLを変更します(「許可元」の代わりにベルトとブレースを使用すると、ある程度冗長になります)。

confファイル内では、次のようにします。

<Location /index.php/mynewadminname>
  Order deny,allow
  deny from all
  #home
  allow from 1.2.3.4
  #office
  allow from 5.6.7.8
</Location>
<Location /mynewadminname>
  Order deny,allow
  deny from all
  #home
  allow from 1.2.3.4
  #office
  allow from 5.6.7.8
</Location>

ここで、1.2.3.4と5.6.7.8は2つの許可されたIPアドレスです。代わりになるかもしれません。


1

IPによる管理者アクセスを許可する

RewriteCond %{REMOTE_ADDR} !^10\.125\.192\.50

RewriteCond %{REMOTE_ADDR} !^10\.125\.192\.50

RewriteCond %{REQUEST_URI} admin [NC]

RewriteRule ^(.*)$ / [F,L]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.