Juste une petite question qui pourrait aider un peu de sécurité. J'ai remarqué que le fichier readme.html avait le numéro de version indiqué. Il réapparaît après chaque mise à niveau, de même que le fichier licence.txt et wp-config-sample.php.
Existe-t-il un moyen simple de faire en sorte que WordPress supprime automatiquement ces fichiers après une mise à niveau?
J'empêche déjà le numéro de version de s'afficher dans les balises méta, les flux RSS, les atomes, etc.
Je sais que ce type de sécurité n’est pas vraiment que très utile, mais je pensais que c’était peut-être un tout petit début. J'ai entendu dire que les gens peuvent simplement vérifier la version de jQuery incluse dans WP-includes et faire des références croisées avec la version de WP qui l'a fournie.
Vous n'avez pas vraiment besoin de supprimer ces fichiers. Il est beaucoup plus facile de bloquer l'accès à ceux-ci. Si vous utilisez de jolies URL, vous avez déjà un fichier .htaccess. L'utilisation de .htaccess pour bloquer les fichiers est sécurisée et vous n'avez qu'à ajouter une directive une fois.
Le blocage de fichiers se fait en ajoutant une directive à .htaccess comme ceci:
<files filename.file-extension>
order allow,deny
deny from all
</files>
Donc, pour bloquer readme.html, procédez comme suit:
<files readme.html>
order allow,deny
deny from all
</files>
Faites de même avec le fichier de licence ou tout autre fichier auquel vous souhaitez empêcher l’accès de quiconque. Ouvrez simplement le fichier .htaccess dans le Bloc-notes ou tout autre éditeur de texte de base, ajoutez les directives et enregistrez-le en veillant à ce que l'éditeur de texte conserve le nom du fichier à la perfection, sans le suffixe .txt.
Voici ma prise:
RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
Personnellement, je bloquerais aussi:
RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F]
nb:
on
(très probablement. il serait rare d’utiliser WordPress sans ... (des permaliens laids, etc ...)).# BEGIN WordPress
dans votre .htaccessadd_action('core_upgrade_preamble','my_function_to_delete_files');
Edit: vous pouvez aussi essayer ces
add_action('upgrader_pre_install','my_function_to_delete_files');
add_action('upgrader_post_install','my_function_to_delete_files');