Apa cara terbaik untuk membatasi akses ke area admin dengan IP di Magento? Ingatlah bahwa admin dapat bekerja dari /admin
atauindex.php/admin
Apa cara terbaik untuk membatasi akses ke area admin dengan IP di Magento? Ingatlah bahwa admin dapat bekerja dari /admin
atauindex.php/admin
Jawaban:
Anda dapat menempatkan kode berikut ke dalam .htaccess
file Anda : -
RewriteCond %{REQUEST_URI} ^/(index.php/)?admin/ [NC]
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1
RewriteRule ^(.*)$ http://%{HTTP_HOST}/ [R=302,L]
Di mana 1.1.1.1
alamat IP Anda.
* Untuk baris terakhir, pastikan tidak ada spasi antara http://
dan %{HTTP_HOST}/
. StackExchange tidak mengizinkan kode http://%
untuk diposting jadi saya harus menambahkan spasi di antaranya.
Kelipatan ditangani dengan menambahkan garis kecocokan lain
RewriteCond %{REQUEST_URI} ^/(index.php/)?admin(.*) [NC]
RewriteCond %{REMOTE_ADDR} !^10\.1\.1\.10
RewriteCond %{REMOTE_ADDR} !^10\.2\.1\.10
RewriteRule .* - [F,L]
Pada dasarnya ini diterjemahkan menjadi jika url ini regex, dan bukan alamat ini, maka 403, Anda keluar dari sini.
F
maka L
tersirat. httpd.apache.org/docs/2.4/rewrite/flags.html . "Ketika menggunakan [F], sebuah [L] tersirat - yaitu, responsnya segera dikembalikan, dan tidak ada aturan lebih lanjut yang dievaluasi."
Anda juga dapat mengatur aturan "allow from" di konfigurasi httpd untuk file host virtual. Saya juga akan mengubah URL admin untuk keamanan tambahan (ok jenis redundan dengan "allow from" s tetapi belt and braces).
Di dalam file conf saya melakukan sesuatu seperti ini:
<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>
Di mana 1.2.3.4 dan 5.6.7.8 adalah dua alamat IP yang diizinkan. Bisa jadi alternatif.