Cegah akses atau hapus otomatis readme.html, license.txt, wp-config-sample.php

13

Hanya pertanyaan singkat yang mungkin membantu sedikit keamanan. Saya perhatikan bahwa file readme.html memiliki nomor versi yang terdaftar. Ini muncul kembali setelah setiap peningkatan dan begitu juga dengan licence.txt, dan wp-config-sample.php.

Apakah ada cara mudah untuk membuat WordPress otomatis menghapus file-file ini setelah peningkatan?

Saya sudah memblokir nomor versi agar tidak ditampilkan di meta tag, rss feed, atom, dll.

Saya tahu jenis keamanan tidak persis bahwa banyak membantu, tapi hanya berpikir itu mungkin menjadi awal yang kecil. Saya mendengar bahwa orang hanya dapat memeriksa versi jQuery yang termasuk dalam WP-include dan referensi silang versi WP yang dikirimkannya.

Sahas Katta
sumber

Jawaban:

19

Anda tidak perlu menghapus file-file ini. Jauh lebih mudah untuk hanya memblokir akses ke mereka. Jika Anda menggunakan URL cantik, Anda sudah memiliki file .htaccess. Menggunakan .htaccess untuk memblokir file aman dan Anda hanya perlu menambahkan direktif sekali.

Memblokir file dilakukan dengan menambahkan arahan ke .htaccess seperti ini:

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

Jadi, untuk memblokir readme.html Anda melakukan ini:

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

Lakukan hal yang sama dengan file lisensi atau file lain yang Anda ingin mencegah orang lain mengakses. Cukup buka .htaccess di Notepad atau editor teks dasar lainnya, tambahkan arahan dan simpan, pastikan bahwa editor teks menyimpan nama file dengan tepat - tanpa ujung .txt di ujungnya.

Elpie
sumber
1
Ini sebenarnya opsi yang akhirnya saya gunakan. Ini bekerja dengan sempurna.
Sahas Katta
1
Hati-hati , bahwa Sintaks di atas hanya valid hingga Apache 2.2! Setelah itu gunakan Require all denied(mengganti 2 baris dalam itu) untuk Apache 2.4 dan di atasnya. Lebih
detail di
5

Ini saya ambil:

RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
  • 404 (tidak ada) daripada 403 (dilarang) untuk menghindari petunjuk tentang keberadaan.
  • juga dalam subfolder (yaitu tema dan plugin, yang mungkin menawarkan peluang serangan)
  • case-insensitive, ekstensi-fleksibel, juga menangkap README.html, atau license.html (jangan ragu untuk menambahkan tersangka khas seperti changelogs | faq | berkontribusi)

Secara pribadi, saya juga akan memblokir:

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

nb:

  • '?:' hanya menyatakan braket sebagai tidak cocok (tidak penting).
  • membutuhkan RewriteEngine menjadi on(kemungkinan besar adalah. itu akan jarang, menggunakan wordpress tanpa ... (permalinks jelek, dll ...)).
  • masukkan sebelum yang # BEGIN WordPressbagian di .htaccess Anda
Frank Nocke
sumber
3
add_action('core_upgrade_preamble','my_function_to_delete_files');

Sunting: Anda juga dapat mencoba ini

add_action('upgrader_pre_install','my_function_to_delete_files');
add_action('upgrader_post_install','my_function_to_delete_files');
Atif Mohammed Ameenuddin
sumber
Terima kasih, saya menemukan fitur unlink php dan berfungsi, tetapi satu masalah. Kait yang Anda berikan tampaknya dijalankan dengan hanya mengunjungi bagian Pembaruan di bawah Dasbor. Apakah ada kaitan lain untuk setelah upgrade terjadi?
Sahas Katta
1
Saya akan melihat dan memberi tahu Anda
Atif Mohammed Ameenuddin
@Sahas @ atif089 Apakah Anda berhasil membuatnya berfungsi?
INT
Alih-alih menghapus (jika Anda ingin benar-benar membaca readme!) Anda dapat menggunakan ini dalam fungsi Andachmod("/path/to/readme.txt", 0640);
Bysander