ป้องกันการเข้าถึงหรือลบ readme.html, license.txt, wp-config-sample.php โดยอัตโนมัติ


13

แค่คำถามสั้น ๆ ที่อาจช่วยลดความปลอดภัยได้ ฉันสังเกตเห็นว่าไฟล์ readme.html มีหมายเลขเวอร์ชันไว้ มันจะปรากฏขึ้นอีกครั้งหลังจากการอัปเกรดแต่ละครั้งและให้ทำ licence.txt และ wp-config-sample.php

มีวิธีง่าย ๆ ที่จะให้ WordPress ลบไฟล์เหล่านี้โดยอัตโนมัติหลังจากการอัพเกรดหรือไม่?

ฉันบล็อกหมายเลขเวอร์ชันไม่ให้แสดงในเมตาแท็กฟีด RSS ฟีดอะตอม ฯลฯ

ฉันรู้ว่าประเภทของการรักษาความปลอดภัยนี้ไม่ว่าที่เป็นประโยชน์มาก แต่ก็คิดว่ามันอาจจะเป็นจุดเริ่มต้นเล็ก ๆ ฉันได้ยินมาว่าผู้คนสามารถตรวจสอบรุ่นของ jQuery ที่รวมอยู่ใน WP-include และการอ้างอิงโยงซึ่ง WP รุ่นใดที่ส่งมา

คำตอบ:


19

คุณไม่จำเป็นต้องลบไฟล์เหล่านี้จริงๆ ง่ายกว่ามากเพียงบล็อกการเข้าถึงพวกเขา หากคุณใช้ URL ที่น่ารักคุณมีไฟล์. htaccess อยู่แล้ว การใช้. htaccess เพื่อบล็อกไฟล์นั้นปลอดภัยและคุณต้องเพิ่มคำสั่งเพียงครั้งเดียว

การบล็อกไฟล์ทำได้โดยการเพิ่มคำสั่งใน. htaccess เช่นนี้:

    <files filename.file-extension>
         order allow,deny
         deny from all
    </files>

ดังนั้นเพื่อป้องกัน readme.html คุณทำสิ่งนี้:

    <files readme.html>
         order allow,deny
         deny from all
    </files>

ทำเช่นเดียวกันกับไฟล์ลิขสิทธิ์หรือไฟล์อื่น ๆ ที่คุณต้องการป้องกันไม่ให้ผู้อื่นเข้าถึง เพียงเปิด. htaccess ใน Notepad หรือตัวแก้ไขข้อความพื้นฐานอื่น ๆ เพิ่มคำสั่งและบันทึกตรวจสอบให้แน่ใจว่าตัวแก้ไขข้อความเก็บชื่อไฟล์ไว้อย่างถูกต้องโดยไม่มี. txt อยู่ท้าย


1
นี่คือตัวเลือกที่ฉันจะไปด้วย มันทำงานได้อย่างสมบูรณ์
Sahas Katta

1
ระวังว่าไวยากรณ์ข้างต้นใช้ได้กับ Apache 2.2 เท่านั้น! หลังจากนั้นใช้Require all denied(แทนที่ 2 บรรทัดภายในเหล่านั้น) สำหรับ Apache 2.4 ขึ้นไป รายละเอียดเพิ่มเติมได้ที่นี่
Frank Nocke

5

นี่คือของฉัน:

RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
  • 404 (ไม่มีอยู่) แทนที่จะเป็น 403 (ต้องห้าม) เพื่อหลีกเลี่ยงเงื่อนงำเกี่ยวกับการมีอยู่
  • ในโฟลเดอร์ย่อย (เช่นชุดรูปแบบและปลั๊กอินซึ่งอาจเสนอโอกาสในการโจมตี)
  • ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ขยายได้มีความยืดหยุ่นนอกจากนี้ยังจับ README.html หรือ license.html (โปรดเพิ่มผู้ต้องสงสัยทั่วไปเช่น changelogs | faq | บริจาค)

โดยส่วนตัวแล้วฉันจะบล็อก:

RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F]

nb:

  • '?:' เพิ่งประกาศวงเล็บที่จะไม่จับคู่ (ไม่มีความสำคัญ)
  • ต้องใช้ RewriteEngine on( เป็นไปได้มากว่ามันจะเป็นเรื่องยากที่จะใช้ wordpress โดยไม่ต้อง ... (ลิงก์ย้อนกลับที่น่าเกลียด ฯลฯ ... ))
  • แทรกก่อน# BEGIN WordPressส่วนใน .htaccess ของคุณ

3
add_action('core_upgrade_preamble','my_function_to_delete_files');

แก้ไข: คุณสามารถลองสิ่งเหล่านี้ได้

add_action('upgrader_pre_install','my_function_to_delete_files');
add_action('upgrader_post_install','my_function_to_delete_files');

ขอบคุณฉันหาฟีเจอร์ unlink ของ php และใช้งานได้ แต่มีปัญหาเดียว ดูเหมือนว่า hook ของคุณจะถูกเรียกใช้โดยเพียงเข้าไปที่หัวข้อ Updates ใต้ Dashboard มีตะขออีกอันหลังจากการอัปเกรดเกิดขึ้นหรือไม่
Sahas Katta

1
ป่วยลองดูและแจ้งให้คุณทราบ
Atif Mohammed Ameenuddin

@Sahas @ atif089 คุณจัดการให้มันใช้งานได้หรือไม่?
INT

แทนที่จะลบ (ในกรณีที่คุณต้องการอ่าน readme!) คุณสามารถใช้สิ่งนี้ในการทำงานของคุณchmod("/path/to/readme.txt", 0640);
Bysander
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.