Maison >interface Web >js tutoriel >Améliorer la sécurité PHP : 8 configurations PHP par défaut qui doivent être modifiées_compétences Javascript
Évidemment, PHP Mysql Apache est une technologie Web très populaire. Cette combinaison est puissante, évolutive et gratuite. Cependant, les paramètres par défaut de PHP ne conviennent pas aux sites Web déjà en ligne. Renforçons la politique de sécurité de PHP en modifiant le fichier de configuration par défaut !
0x01 : Désactiver la fonction de traitement des fichiers URL à distance
La fonction de traitement de fichiers comme fopen accepte le paramètre rul du fichier (par exemple : fopen('http://www.yoursite.com','r')).). Cette fonction peut facilement accéder aux ressources distantes. Cependant, il s'agit d'une menace de sécurité très importante. C'est un bon choix de désactiver cette fonctionnalité pour limiter la fonction de fichier. Apportez les modifications suivantes dans le fichier php.ini :
.
0x02 : Désactiver l'enregistrement des variables globales
Dans les versions antérieures à 4.2.0, PHP utilise des variables globales en entrée. Cette fonction s'appelle register_globals. Elle pose de nombreux problèmes de sécurité dans les applications Web car elle permet aux attaquants de manipuler facilement les variables globales dans certaines situations, heureusement cette fonctionnalité. est désactivé par défaut dans la version 4.2.0. Il est très dangereux et doit être désactivé en toutes circonstances. Si certains scripts nécessitent cette fonctionnalité, ils présentent alors une menace potentielle pour la sécurité. Modifiez pnp.ini pour désactiver cette fonctionnalité :
0x03 : Limiter les opérations de lecture et d'écriture PHP
Dans de nombreux processus de développement Web, les scripts php doivent lire et écrire sur le système de fichiers local, tel que /var/www/htdocs/files. Afin d'améliorer la sécurité, vous pouvez modifier les autorisations de lecture et d'écriture des fichiers locaux. :
0x04 : Limite de pose
Limiter le temps d'exécution de PHP, l'utilisation de la mémoire, la publication et le téléchargement des données est la meilleure stratégie. Vous pouvez la configurer comme suit :
0x05 : Désactiver les messages d'erreur et activer la journalisation
Dans le paramètre par défaut, PHP affichera un message d'erreur au navigateur. Pendant le processus de développement de l'application, ce paramètre par défaut est la configuration la plus raisonnable. Cependant, il peut également divulguer certaines informations de sécurité à l'utilisateur, telles que. le chemin d'installation et le nom d'utilisateur. Sur les sites Web déjà développés, il est préférable de désactiver les messages d'erreur et de les afficher dans un fichier journal.
0x06 : Masquer le fichier PHP
S'il n'y a pas de fichier PHP caché, nous pouvons obtenir la version PHP du serveur par différentes méthodes, telles que : http://www.example.com/script.php?=PHPB8B5F2A0-3C92-11d3- A3A9-4C7B08C10000
Nous ne souhaitons évidemment pas que les utilisateurs puissent obtenir directement la version PHP du serveur de votre site Web. Heureusement, il existe un commutateur dans php.ini pour désactiver cette fonctionnalité :
0x07 : Configuration du mode sans échec
Par défaut, PHP peut être configuré en mode sans échec. Dans ce mode, Apache interdit l'accès aux fichiers, aux variables d'environnement et aux programmes binaires. En mode sans échec, le plus gros problème est que seul le propriétaire du fichier peut y accéder. Fichier PHP. Si de nombreux développeurs travaillent ensemble pour développer ce programme, ce paramètre n'est pas pratique. Lorsque vous devez accéder à un fichier PHP, vous devez modifier le propriétaire du fichier. Un autre problème est que d'autres programmes ne peuvent pas y accéder. fichier, la configuration suivante peut modifier les autorisations du fichier sur le groupe d'utilisateurs au lieu d'un seul utilisateur.
En activant safe_mode_gid, ce groupe utilisant Apache pourra accéder aux fichiers PHP. Le mode sans échec est également très efficace pour empêcher l'exécution des fichiers binaires. Cependant, les développeurs peuvent souhaiter pouvoir exécuter certains fichiers binaires dans certaines circonstances. Dans ces cas particuliers, les fichiers binaires peuvent être placés dans un répertoire, tel que (/var/www/binaries), et les paramètres suivants peuvent être définis :
Enfin, grâce aux paramètres suivants, vous pouvez accéder aux variables d'environnement du serveur, fournir un préfixe séparé par "_", afin que seules les variables d'environnement avec le préfixe spécifié soient accessibles :
0x08 : Restreindre l'accès des utilisateurs publics aux fichiers avec des suffixes spécifiques
Pour des raisons de sécurité, de nombreux fichiers portant des noms de suffixe spécifiques ne sont pas accessibles aux utilisateurs publics, tels que les fichiers portant le suffixe .inc, qui contiennent des informations sensibles, telles que les informations de connexion MySQL, alors s'il n'y a pas de configuration appropriée. each Chaque utilisateur peut accéder à ce fichier de configuration. Afin d'améliorer la sécurité du site Web, vous devez configurer les éléments suivants dans le fichier ..htaccess :
0x09 : Résumé
La configuration par défaut de PHP est destinée aux développeurs. Si le site Web est destiné à un grand nombre d'utilisateurs, il est recommandé de reconfigurer PHP.