(ฉันทราบว่าไม่แนะนำให้ใช้การรักษาความปลอดภัยที่คลุมเครือ)
ฉันพยายามซ่อนความจริงที่ว่าฉันใช้ 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 ไม่สอดคล้องกัน