(ฉันทราบว่าไม่แนะนำให้ใช้การรักษาความปลอดภัยที่คลุมเครือ)
ฉันพยายามซ่อนความจริงที่ว่าฉันใช้ Wordpress โพสต์นี้มีประโยชน์ แต่จะเน้นเฉพาะเนื้อหา (เรียงลำดับ) เท่านั้น ฉันสนใจที่จะมีสิ่งต่อไปนี้เกิดขึ้น:
ผู้ใช้พยายามเข้าถึง url ใด ๆ
wp*
ที่เป็นซับสตริงผ่านเบราว์เซอร์ผลลัพธ์:เปลี่ยนเส้นทางไปที่หน้า 404
ผู้ใช้บล็อก /
http://example.com/blogin/
ผู้ดูแลระบบรู้เพื่อที่จะเข้าสู่ระบบที่พวกเขาควรจะไปผล: การเปลี่ยนเส้นทาง Apache
http://example.com/wp-admin/
ให้พวกเขาหากผู้ใช้พยายามเข้าถึงโดยตรง
wp-admin
จากเบราว์เซอร์ผู้ใช้จะถูกส่งไปที่ # 1ผลลัพธ์:เปลี่ยนเส้นทางไปที่หน้า 404
สิ่งที่ฉันทำไปแล้ว
ฉันสังเกตเห็นว่าการติดตั้งเริ่มต้นของ WordPress ที่ฉันสามารถเข้าถึง
wp*
ไฟล์ใด ๆในไดเรกทอรีราก (ญาติ) ของการติดตั้ง WPwp-settings.php
มีปัญหาโดยเฉพาะเพราะให้ข้อมูลเกี่ยวกับการตั้งค่าของฉัน หากผู้ใช้เข้าถึงมันก็จะพ่นข้อผิดพลาด PHP และเปิดเผยส่วนหนึ่งของโครงสร้างไดเรกทอรี ฉันแก้ไขไฟล์ php.ini เพื่อdisplay_errors
ปิด ตอนนี้การเข้าถึงhttp://example.com/wp-settngs.php
จะแสดงหน้าว่างสิ่งนี้ในตัวมันเองไม่เหมาะเพราะมันเปิดเผยว่า
wp-settings.php
มีอยู่จริง ในความเป็นจริงการเข้าถึงwp*
ไฟล์ต่าง ๆทั้งหมดเป็นไปได้ (มีผลลัพธ์ที่แตกต่างกัน) ฉันจะใส่สิ่งต่อไปนี้ในไฟล์ htaccess ของฉัน:RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* - [F]
มันใช้งานได้ดีมาก! ทุกสิ่งที่มี
wp*
ถูกส่งไปยังหน้า 404 ที่กำหนดเองของฉัน แต่ตอนนี้ฉันไม่สามารถเข้าถึงหน้าผู้ดูแลระบบของฉันได้ฉันพยายามแทรกบรรทัดนี้ลงในโค้ดด้านบน:
RewriteRule ^blogin wp-admin [NC,R,L]
. มันควรจะถูกต้องRewriteBase
แต่สิ่งนี้ไม่ได้ผลฉันพยายามทำ:
<Directory /home/example/wp*> Order Allow, Deny Allow from example.com Deny from all </Directory>
หวังว่าผู้อ้างอิงจากเว็บไซต์ของฉัน (ผ่านการเขียนกฎใหม่) จะสามารถเข้าถึง wp-admin ได้ แต่ไม่ใช่บางคนจากภายนอก มันไม่ได้ผลเช่นกัน apache บ่นว่าคุณไม่สามารถใช้คำสั่งนี้จาก htaccess
ฉันอ่านเอกสาร Apache ฉันเข้าใจแนวคิดในทางทฤษฎี แต่ฉันต้องการความช่วยเหลือในทางปฏิบัติ
แก้ไข: ฉันกำลังมองหาโซลูชันที่ใช้. htaccess แทน httpd.conf เนื่องจากการตั้งค่าเฉพาะของฉันทำให้การใช้ httpd.conf ไม่สอดคล้องกัน