WordPress : Cela vaut-il la peine de restreindre l’accès direct aux fichiers de thème ?
J’ai rencontré de temps en temps l’extrait suivant dans les thèmes :
if ( ! defined('ABSPATH')) exit('restricted access');
C’est au début de certains (tous ?) fichiers PHP dans un thème et c’est censé empêcher l’accès direct au fichier par des sources malveillantes.
Je vois que cela n’est pas inclus dans Twenty Ten ou Eleven et je ne l’ai jamais vu recommandé dans la documentation officielle de WordPress. Cela me semble être une bonne idée, mais je n’en sais pas assez sur la sécurité pour en juger et je ne trouve pas grand-chose avec Google.
Est-ce quelque chose que je devrais avoir dans mes thèmes personnalisés ? Si oui, devrait-il être dans tous les fichiers PHP ou seulement certains ?
Solution n°1 trouvée
Habituellement, vous n’en avez pas besoin. Mais il y a au moins un cas limite :
- Si un fichier de thème est une partie de modèle ,
- et il utilise des variables globales du contexte appelant (fichier parent),
- et register_globals est
on
, - et il utilise simplement ces variables sans aucun contrôle de sécurité
un attaquant peut appeler ce fichier, définir les variables manquantes avec GET
ou POST
et faire en sorte que le fichier de thème les imprime. Et puis il y a un problème de sécurité.
Alors la meilleure option n’est pas une vérification du contexte comme celle de votre exemple, mais un bon code : évitez les variables globales, vérifiez leur contenu avant de l’imprimer.
0 commentaire