Ограничить доступ к админке по IP


10

Как лучше всего ограничить доступ в админку по IP в Magento? Имейте в виду, что админ может работать как с, так /adminи сindex.php/admin

Ответы:


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]), чтобы предотвратить загрузку страницы
Мартин

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, вы ушли отсюда.


Только чтение документации: Если вы укажете , Fто Lподразумевается. httpd.apache.org/docs/2.4/rewrite/flags.html . «При использовании [F] подразумевается [L], то есть ответ возвращается немедленно, и дальнейшие правила не оцениваются».
Johnsnails

2

Вы также можете установить правила «разрешить из» в конфигурации httpd для файлов виртуального хоста. Я также изменил бы URL-адрес администратора для дополнительной безопасности (хорошо, вид избыточен с "allow from", но поясом и скобками).

Внутри файла 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 - два разрешенных 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]
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.