จำกัด การเข้าถึงพื้นที่ผู้ดูแลระบบด้วย 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.1IP ของคุณอยู่ที่ไหน

* สำหรับบรรทัดสุดท้ายตรวจสอบให้แน่ใจว่ามีระยะห่างระหว่างไม่มีและhttp:// %{HTTP_HOST}/StackExchange ไม่อนุญาตให้http://%โพสต์รหัสดังนั้นฉันต้องเพิ่มระยะห่างระหว่างกัน


1
รหัสนี้เปลี่ยนเส้นทางจากหน้าผู้ดูแลระบบที่มีเครื่องหมายสแลชหลังผู้ดูแลระบบ (ผู้ดูแลระบบ /) และบางสิ่งหลังจากสแลช (ผู้ดูแลระบบ / abc) แต่หน้าผู้ดูแลระบบยังคงโหลดอยู่ใน "myeshop.com/admin" ควรใช้กฎที่ไม่มีเครื่องหมายทับล่าสุด (RewriteCond% {REQUEST_URI} ^ / (index.php /) หรือไม่ผู้ดูแลระบบ [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 regex นี้ไม่ใช่ที่อยู่เหล่านี้ดังนั้น 403 คุณจะออกจากที่นี่


เพียงแค่อ่านเอกสารประกอบ: หากคุณระบุFก็Lจะบอกเป็นนัย httpd.apache.org/docs/2.4/rewrite/flags.html "เมื่อใช้ [F] หมายถึง [L] - ซึ่งก็คือการตอบสนองจะถูกส่งกลับทันทีและจะไม่มีการประเมินกฎใด ๆ เพิ่มเติม"
johnsnails

2

นอกจากนี้คุณยังสามารถตั้งค่ากฎ "อนุญาตจาก" ใน httpd config สำหรับไฟล์โฮสต์เสมือน ฉันจะเปลี่ยน 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]
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.