Je suis nouveau sur PHP, mais j'ai remarqué à peu près tous les PHP fichiers ont un extrait de sécurité, le script "Mourir si on n'y accède pas correctement" au début; ma question , un thème enfant functions.php
a-t-il également besoin de quelque chose comme ça pour le sécuriser?
PHP:
if ( ! defined( 'ABSPATH' ) ) {
die( 'Direct Access Not Permitted' );
}
Est-ce nécessaire il? Probablement pas (autre que cette affaire Edge , les accessoires @bravokeyl). Devriez-vous l'ajouter? A mon avis oui:
Undefined function get_header in /bada/bing/bada/boom
).Cependant , je absolument déteste ceci:
die( 'Direct Access Not Permitted' );
OMI cela devrait simplement être:
if ( ! defined( 'ABSPATH' ) )
exit;
Il ne sert à rien d'avoir ce "message". Et je suis un grand fan de exit
. Il communique le fait qu'il s'agit d'un scénario attendu possible et que, dans ce scénario, je souhaite simplement quitter. J'utilise die
pour les scénarios "inattendus", comme les erreurs d'écriture du système de fichiers, les erreurs de base de données, etc.
La plupart du temps, il n'est pas nécessaire de vérifier defined( 'ABSPATH' )
dans le thème de l'enfant.
Non, functions.php
générerait PHP fatals s’il est chargé directement car il utilise l’API WordPress.
Si functions.php
a essayé d'amorcer et de charger WordPress, alors oui, ce serait nécessaire, mais si vous l'avez fait, alors quelque chose s'est passé horriblement mal et vous devez recommencer à zéro
Le chargement direct de presque tous les fichiers WordPress (sinon de tous) directement ne donnera rien de plus qu'un écran blanc de la mort si votre rapport d'erreurs est correctement défini. En effet, cela provoquera une erreur fatale PHP lors de l'arrêt de l'exécution, et les paramètres publics corrects pour l'affichage des erreurs consistent à ne pas les afficher. Toutefois, si vous essayez de masquer votre utilisation de WordPress ou du moins d'aller le plus loin possible, vous voudrez peut-être effectuer cette vérification, mais à l'intérieur du si déclenchez un code de réponse 404.