Обмежити доступ до адміністративної області через IP


10

Який найкращий спосіб обмежити доступ до адміністративної області через ІР у 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
Цей код переспрямовується зі сторінок адміністратора з косою косою після адміністратора (адміністратора /) та з чиєюсь косою рисою (адмін / 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-адресу для додаткової безпеки (нормально, надлишок з "дозволити", але пояс і дужки).

Всередині файлу 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.