Який найкращий спосіб обмежити доступ до адміністративної області через ІР у Magento? Майте на увазі, що адміністратор може працювати або з, /admin
або зindex.php/admin
Який найкращий спосіб обмежити доступ до адміністративної області через ІР у Magento? Майте на увазі, що адміністратор може працювати або з, /admin
або зindex.php/admin
Відповіді:
Ви можете помістити у свій .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://%
тому мені потрібно додати пробіл між ними.
Кілька разів обробляються шляхом додавання ще однієї лінії відповідності
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] - тобто відповідь повертається негайно, і подальші правила не оцінюються."
Ви також можете встановити правила "дозволити з" у конфігурації 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-адреси. Можливо, це буде альтернативою.