Lorsque nous parlons de la sécurité de WordPress.disallow_file_edit est une configuration clé qui est souvent mentionnée. Presque tous les guides de sécurité vous diront que la wp-config.php avec le fichier define('DISALLOW_FILE_EDIT', true);Cela désactivera les éditeurs de thèmes et de plugins dans le backend, ce qui empêchera les pirates de faire des "faux pas" ou des manipulations.

Mais avez-vous déjà réfléchi profondément à une question ?Pourquoi faut-il que ce soit wp-config.php? Pourquoi ne pas vous épargner cette peine et placer ce code dans la rubrique functions.php ou dans un plugin personnalisé ?
Aujourd'hui, nous allons nous plonger dans le processus de démarrage de WordPress et démystifier le processus de création d'un site web. wp-config.php Le secret du chargement des fichiers révèle la raison fondamentale pour laquelle cette simple ligne de code constitue la "première ligne de défense en matière de sécurité".
Apprendre à connaître le "centre nerveux" de WordPress - wp-config.php
Avant de démystifier son ordre de chargement, il convient de corriger une idée reçue.
1.1 La véritable identité de wp-config.php
La plupart des utilisateurs sont intéressés par wp-config.php La perception d'être coincé dans unFichier de configuration pour stocker les informations de connexion à la base de données (nom de la base de données, nom d'utilisateur, mot de passe). C'est certainement l'un de ses rôles les plus importants, mais c'est bien plus que cela.
wp-config.php êtreWordPress"centre nerveux" ou "cerveau".. Il est chargé au tout début de la séquence de démarrage de WordPress et est responsable de la définition des éléments qui affectent le comportement sous-jacent du système dans son ensemble, dans le code de base, les thèmes et les plugins.au préalableIl est alors nécessaire de déterminer les réglages. Ces réglages sont généralement exprimés comme suit Constantes PHP forme d'existence.

1.2 Son "pouvoir de vie et de mort".
En plus des informations sur la base de données.wp-config.php Toujours en charge :
Clé de sécurité : Utilisez la touche AUTH_KEY, CLÉ_AUTH_SÉCURISÉE etc., en cryptant les cookies des utilisateurs pour renforcer la sécurité des connexions.
Mode débogage : utiliser WP_DEBUGIl contrôle l'affichage ou non des erreurs et avertissements PHP et constitue un outil indispensable pour les développeurs.
Autorisations du système de fichiers : utilisation FS_METHODL'écriture de WordPress dans les fichiers (par exemple, direct, FTP, SSH).
Jeu de caractères de la base de données : Définir le jeu de caractères pour la connexion à la base de données, par exemple DB_CHARSET.
Et notre personnage principal d'aujourd'hui - unInterrupteurs de sécurité de la sériepar exemple disallow_file_edit, DISALLOW_FILE_MODS etc.
Maintenant que nous comprenons son statut de "hub", voyons comment il fonctionne.

Deuxièmement, révéler la séquence de démarrage : processus de démarrage de WordPress
Le processus de démarrage de WordPress est comparable au lancement d'une fusée, avec une séquence d'allumage stricte et irréversible.wp-config.php C'est au tout début de l'allumage qu'il est activé.
2.1 Un diagramme pour comprendre le processus de chargement
Visualisons ce processus à l'aide d'un diagramme de séquence simplifié :
Demande de l'utilisateur -> index.php -> wp-blog-header.php -> wp-load.php -> wp-config.php -> Initialiser la base de données -> Charger le noyau -> Charger les thèmes et les plugins -> Afficher le site
2.2 Description des aspects clés
- index.php: Il s'agit du point d'entrée pour toutes les requêtes du front-end. Il ne contient que peu ou pas de logique propre, et sa principale responsabilité est de charger le fichier
wp-blog-header.php. - wp-blog-header.phpCe fichier est le "cerveau" du processus de démarrage. Il met en place l'environnement de WordPress et appelle la fonction
wp-load.php. - wp-load.php: :Voici la clé ! La tâche principale de ce document est dePosition et charge
wp-config.php. Il part du répertoire actuel et cherche vers le haut jusqu'à ce qu'il trouve le fichierwp-config.phpjusqu'à ce qu'il soit trouvé. Dès qu'il est trouvé, exécutez tout le code qu'il contient. - wp-config.php ExécuterA ce stade, toutes les constantes que vous avez définies dans ce fichier (y compris l'élément
disallow_file_edit) sont en vigueur. Les connexions à la base de données sont également établies à ce stade. - wp-settings.php: en
wp-config.phpAprès l'exécution, le noyau charge lewp-settings.phpCe dossier est un "atelier d'assemblage". Ce dossier est une "usine d'assemblage", qui est responsable :- Charger les fonctions et classes de base de WordPress.
- Initialiser et exécuter tous lesPlug-ins activés.
- Chargement de l'information actuellement utiliséethématique(y compris
functions.php).

Cette séquence révèle un fait essentiel : l'exécution du code de wp-config.php est bien antérieure à celle de functions.php de n'importe quel plugin ou thème.
Le timing est primordial : pourquoi est-il "trop tard" pour le mettre dans functions.php ou dans un plugin ?
Répondons maintenant à la question centrale. Supposons que vous preniez le disallow_file_edit La définition du sujet est placée dans le functions.php C'est dans le dossier :
/// Ceci se trouve dans le fichier functions.php du thème - à l'envers ! // Ceci se trouve dans le fichier functions.php du thème - à l'envers !
define('DISALLOW_FILE_EDIT', true) ;
Que va-t-il se passer ?
3.1 Mécanisme de génération du menu d'arrière-plan
Le menu d'administration de WordPress est généré dans le fichier wp-admin/admin.php Le processus se déroule dans le wp-settings.php Chargement de tous les plugins et thèmesau-delà.
Plus précisément, lorsqu'un utilisateur accède au /wp-admin/ Quand ce sera le cas, WordPress le fera :
1. compléter le processus de démarrage
2) Commencer à construire l'interface de gestion du back-end
3. pendant le processus de construction, il sera exécuté wp-admin/menu.php répondre en chantant wp-admin/includes/menu.php Les fonctions dusonde disallow_file_edit Si la constante a été définie.
4. détecté disallow_file_edit en raison de vraiIl supprime les éléments de menu "Theme Editor" sous "Appearance" et "Plugin Editor" sous "Plugins". Il supprime les éléments de menu "Theme Editor" sous "Appearance" et "Plugins".

3.2 Analyse des questions centrales
C'est là que réside le problème :
(coll.) échouer (un étudiant)functions.php a fait mouche définir a finalement la possibilité de s'exécuter lorsque l'instructionLe temps où le noyau de WordPress vérifiait cette constante est révolu.
En effet, la vérification a lieu lorsque le menu est généré dans le fichierl'administrationLe processus d'initialisation dans l'environnement est le même que celui où les constantes clés sont jugées avant le chargement du thème/plugin. Le code principal n'attend pas qu'un retardataire définisse des règles de sécurité qui auraient dû être définies dès le départ.
Résultat : même enfunctions.phpest défini dans ledisallow_file_editLes menus de l'éditeur de thèmes et de plugins s'affichent toujours et les paramètres de sécurité sont totalement inefficaces.
IV. guide pratique : éditer wp-config.php
Après avoir compris la théorie, passons à la pratique. Comment localiser et modifier en toute sécurité ce fichier si important ?
4.1 Méthodes de localisation des documents
wp-config.phpIl est généralement situé dans le répertoire racine de votre installation WordPress. C'est la même chose que le fichierwp-admin(math.) genrewp-content(math.) genrewp-includesCes trois dossiers sont au même niveau.
Il peut être consulté via FTP, SFTP ou un gestionnaire de fichiers fourni par le fournisseur d'hébergement.
4.2 Édition d'instructions pas à pas
Sauvegardez toujours avant de modifier ! Une mauvaise utilisation peut rendre l'ensemble du site inaccessible.
1) Téléchargement de la sauvegarde : via FTP ou le gestionnaire de fichiers, le fichier actuel est sauvegardé.wp-config.phpLe fichier est téléchargé sur votre ordinateur local en tant que sauvegarde.
2. utiliser un éditeur de texte simple : utiliser des éditeurs de code comme VS Code, Notepad++, Sublime Text, etc. N'utilisez pas d'éditeurs de texte enrichi tels que Word, qui introduisent des caractères cachés.
3. recherche du point d'insertion : après la définition de la base de données, le point d'insertion est le point de départ de la recherche./* C'est tout, arrêtez l'édition ! Bonne publication */Ajoutez le code avant le commentaire sur cette ligne.

4) Ajouter du code : à l'endroit approprié, insérez le code suivant :
// Désactiver les éditeurs de thèmes et de plugins
define('DISALLOW_FILE_EDIT', true) ;
5. enregistrer et télécharger : enregistrer le fichier, puis le télécharger sur le serveur via FTP ou un gestionnaire de fichiers, en écrasant le fichier d'origine. Dans la plupart des cas, cela n'affectera pas le fonctionnement normal du site web.
6) Vérifiez l'effet : Connectez-vous à votre arrière-plan WordPress, vérifiez le menu "Apparence" et "Plugin". Si l'opération est réussie, les sous-menus "Theme Editor" et "Plugin Editor" devraient avoir disparu !
V. Protection étendue de la sécurité : options de configuration connexes
disallow_file_editest une excellente ligne de défense, mais la véritable sécurité nécessite plusieurs couches de protection. Dans lewp-config.phpdans laquelle d'autres configurations de sécurité peuvent également être activées.

5.1 Fonction DISALLOW_FILE_MODS
Il s'agit d'une option de contrôle plus stricte :
<br>define('DISALLOW_FILE_MODS', true) ;
Son rôle comprend, entre autres, les éléments suivantsdisallow_file_edit. En outre :
- Désactiver l'installation de thèmes et de plugins dans le backend de WordPress, mettre à jour les fonctionnalités
- Masquer les notifications de mises à jour connexes
- Scénario d'utilisation : Pour les sites de production qui ont été stabilisés, ou les sites qui utilisent des outils de contrôle de version pour le déploiement du code, cela peut éliminer complètement la possibilité de modifier le code via le backend.
5.2 Combinaisons de configurations de sécurité
Les blocs de configuration de la sécurité peuvent être construits dans wp-config.php selon les besoins :
// Configuration de l'amélioration de la sécurité
// Désactiver les éditeurs de thèmes et de plugins
define('DISALLOW_FILE_EDIT', true) ;
// Pour les environnements de production stricts, désactiver toutes les modifications de fichiers
// define('DISALLOW_FILE_MODS', true) ; // Pour les environnements de production stricts, désactiver toutes les modifications de fichiers.
// Forcer l'accès SSL au backend
define('FORCE_SSL_ADMIN', true) ; // Pour les environnements de production stricts, désactivez toutes les modifications de fichiers.
// Activer la journalisation de débogage (peut être désactivé pour les environnements de production, mais très utile pour les environnements de développement)
define('WP_DEBUG', false) ; // Activer la journalisation de débogage (peut être désactivé pour les environnements de production, mais très utile pour les environnements de développement)
define('WP_DEBUG_LOG', true) ; // enregistre les erreurs dans /wp-content/debug.log
define('WP_DEBUG_DISPLAY', false) ; // Ne pas afficher l'erreur sur la page
rendre un verdict
Grâce à cet examen de la wp-config.php Les secrets chargés sont profondément démystifiés, nous comprenons :disallow_file_edit La raison fondamentale pour laquelle il s'agit d'une première ligne de défense efficace en matière de sécurité est le "timing" de sa mise en œuvre..
Le fichier wp-config.php, le "centre nerveux" de WordPress, occupe une position irremplaçable dans la séquence de démarrage, permettant aux directives de sécurité qui y sont définies de prendre le contrôle du système avant tout autre code. Les directives de sécurité peuvent y être définies avant tout autre code, ce qui constitue le contrôle le plus fondamental du système.
La prochaine fois que vous verrez cette ligne de code dans un guide de sécurité, vous ne verrez plus une étape opérationnelle isolée, mais une conception subtile qui concerne l'architecture centrale de WordPress. Utilisée correctement, c'est une étape importante dans le parcours d'un novice de WordPress vers un administrateur compétent.
Lien vers cet article :https://www.361sale.com/fr/79668/L'article est protégé par le droit d'auteur et doit être reproduit avec mention.

























![Emoji[wozuimei]-Photonflux.com | Service professionnel de réparation de WordPress, dans le monde entier, réponse rapide](https://www.361sale.com/wp-content/themes/zibll/img/smilies/wozuimei.gif)
![Émoticône [baoquan] - Photon Wave Network | Services professionnels de réparation WordPress, couverture mondiale, réponse rapide](https://www.361sale.com/wp-content/themes/zibll/img/smilies/baoquan.gif)

Pas de commentaires