


Les dix principaux points de sécurité PHP recommandés que les administrateurs Linux doivent connaître
PHP est l'un des langages de programmation de script les plus utilisés. La part de marché en dit long sur sa position dominante. Le fait que PHP 7 ait été lancé rend ce langage de programmation encore plus attractif pour les développeurs actuels. Malgré quelques changements, de nombreux développeurs sont sceptiques quant à l'avenir de PHP. L'une des raisons est la sécurité de PHP.
Les administrateurs Linux doivent connaître les dix principaux points de sécurité PHP
PHP est l'un des langages de script les plus utilisés. La part de marché en dit long sur sa position dominante. Le fait que PHP 7 ait été lancé rend ce langage de programmation encore plus attractif pour les développeurs actuels. Malgré quelques changements, de nombreux développeurs sont sceptiques quant à l'avenir de PHP. L'une des raisons est la sécurité de PHP.
La sécurité de PHP est une préoccupation majeure pour les développeurs. Bien que PHP offre une sécurité solide de l’intérieur vers l’extérieur, il appartient aux développeurs d’implémenter correctement ces mécanismes de sécurité. Nous présenterons plusieurs points de sécurité PHP pour les administrateurs Linux dans cet article. Ces points vous aideront à sécuriser votre application web et à assurer son bon fonctionnement sur le long terme.
Avant de commencer, il est nécessaire de comprendre le système auquel nous avons affaire. À des fins de démonstration, nous utilisons Fedora. Cependant, ces points devraient s'appliquer aux versions d'Ubuntu ou à toute autre distribution Linux. Consultez le manuel de la distribution de votre système d'exploitation pour plus d'informations.
Examinons de plus près plusieurs fichiers clés de notre environnement système. Votre fichier doit ressembler ou correspondre à ce qui suit :
Serveur web par défaut : Apache
DocumentRoot : /var/www/html
Fichier de configuration PHP : /etc/php . ini
Répertoire de configuration étendu : /etc/php.d/
Fichier de sécurité : /etc/php.d/security.ini
Ces conseils protégeront votre site Web, évitez différents types d'attaques courantes, telles que l'injection SQL, XSS, les attaques de falsification de requêtes intersites, eval() et les attaques par téléchargement de fichiers. Une liste des attaques courantes peut être trouvée ici (https://www.sitepoint.com/top-10-php-security-vulnerabilities/).
1. Supprimez les modules inutiles.
PHP est livré avec un module php intégré. Ils sont utiles pour de nombreuses tâches, mais tous les projets n’en nécessitent pas. Entrez simplement la commande suivante pour afficher les modules PHP disponibles :
# php - m
Une fois que vous avez consulté la liste, vous pouvez désormais supprimer les modules inutiles. La réduction du nombre de modules permet d'améliorer les performances et la sécurité des applications Web sur lesquelles vous travaillez.
2. Limiter les fuites d'informations PHP.
Il est courant que les plateformes divulguent des informations clés. Par exemple, PHP divulgue des informations telles que la version et le fait qu'il a été installé sur le serveur. Ceci peut être réalisé via la commande expose_php. Pour éviter les fuites, vous devez désactiver cette commande dans /etc/php.d/security.ini.
expose_php=Off
Si vous avez besoin de connaître la version et son statut, exécutez simplement une simple commande Curl sur l'adresse du site Web pour obtenir les informations.
Curl - I http://www.kubiji.cn/index.php
La commande précédente renverra les informations suivantes :
HTTP/1.1 200 OK
X-Powered-By : PHP/7.0.10
Content-type : text/html; charset=UTF-8
3.
L'exécution de code à distance est l'une des vulnérabilités de sécurité courantes dans les systèmes de sécurité PHP. Par défaut, l'exécution de code à distance est activée sur votre système. La commande "allow_url_fopen" permet à des fonctions telles que les wrappers fopen require, include ou compatibles URL d'accéder directement aux fichiers PHP. L'accès à distance est obtenu grâce à l'utilisation de protocoles HTTP ou FTP, ce qui empêche le système de se défendre contre les vulnérabilités de sécurité par injection de code.
Pour vous assurer que votre système est sûr, sécurisé et éloigné de l'exécution de code à distance, vous pouvez définir cette commande sur « Désactivé », comme indiqué ci-dessous :
Allow_url_fopen=Off
allow_url_include =Off
4. Enregistrez les erreurs PHP.
Un autre moyen simple de renforcer la sécurité de votre application web est de ne pas afficher d'erreurs aux visiteurs. Cela garantira que les pirates ne pourront pas du tout compromettre la sécurité du site Web. Il doit être modifié dans le fichier /etc/php.d/security.ini.
display_errors=Off
Maintenant, vous pensez peut-être : après avoir terminé cette étape, "Comment les développeurs peuvent-ils déboguer sans l'aide de messages d'erreur ?" Il leur suffit de définir la commande log_errors sur "On" dans le fichier security.ini.
log_errors=On
error_log=/var/log/httpd/php_scripts_error.log
5. Contrôler raisonnablement les ressources.
Pour assurer la sécurité de votre application, il est important de contrôler les ressources. Pour garantir une exécution et une sécurité correctes, vous devez restreindre l'exécution des scripts PHP. De plus, il devrait y avoir une limite sur le temps passé à analyser les données de la demande. Si le temps d'exécution est contrôlé, d'autres ressources telles que la mémoire utilisée par le script doivent également être configurées en conséquence. Toutes ces métriques peuvent être gérées en éditant le fichier security.ini.
# défini en secondes
max_execution_time = 25
max_input_time = 25
memory_limit = 30M
6. Désactivez les fonctions PHP dangereuses
PHP est livré avec des fonctions utiles pour le développement, mais il peut également être utilisé par des pirates pour s'introduire dans le Web Un grand nombre de fonctions pour l'application. La désactivation de ces fonctions améliore la sécurité globale et garantit que vous n'êtes pas exposé à des fonctions PHP dangereuses.
Pour ce faire, vous devez d'abord éditer le fichier php.ini. Une fois dans le fichier, recherchez la commande Disable_functions et désactivez les fonctions dangereuses à l'intérieur. Pour ce faire, il vous suffit de copier/coller le code suivant.
disable_functions =exec,passthru,
shell_exec,system,proc_open,popen,curl_exec,
curl_multi_exec,parse_ini_file,show_source
Vous pouvez ici ( https ://www.eukhost.com/blog/webhosting/dangerous-php-functions-must-be-disabled/) Apprenez-en davantage sur la désactivation des fonctions PHP dangereuses.
7. Téléchargez des fichiers.
Si votre application ne nécessite pas de télécharger de fichiers, désactiver la possibilité de télécharger des fichiers peut contribuer à améliorer la sécurité. Si vous souhaitez interdire aux utilisateurs de télécharger des fichiers, il vous suffit de modifier le fichier security.ini dans le répertoire /etc/php.d/ et de définir la commande file_uploads sur OFF.
file_uploads=Off
8. Gardez la version à jour.
Les développeurs travaillent 24h/24 et 7j/7 pour mettre à jour la technologie que vous utilisez. Il en va de même pour PHP. Puisqu’il dispose d’une communauté open source, des correctifs et des correctifs sont publiés régulièrement. La version mise à jour fournit également des correctifs de sécurité pour les vulnérabilités du premier jour et d'autres vulnérabilités de sécurité. Si vous vous souciez de la sécurité des applications, assurez-vous toujours que votre solution PHP est à jour. De plus, l’application des derniers correctifs à d’autres technologies connexes peut garantir une sécurité maximale.
9. Contrôler l'accès au système de fichiers.
Par défaut, PHP peut utiliser des fonctions telles que fopen() pour accéder aux fichiers. L'accès est fourni par la commande open_basedir. Tout d’abord, définissez toujours la commande open_basedir sur le répertoire /var/www/html. Le définir sur n’importe quel autre répertoire peut entraîner des problèmes de sécurité.
open_basedir="/var/www/html/"
10. Contrôler la taille du POST.
Notre dernier point de sécurité PHP est la fonction de contrôle de la taille POST. La fonction HTTP POST utilise le navigateur du client pour envoyer des données au serveur Web. Par exemple, un utilisateur peut télécharger un certificat, qui est ensuite envoyé au navigateur Web pour traitement. Tout fonctionnait bien jusqu'au jour où un pirate informatique tenta d'envoyer un énorme fichier qui épuisa les ressources du serveur. Cela entraînera très probablement un crash du serveur ou une réponse lente. Pour protéger le serveur de cette vulnérabilité, la taille du POST doit être définie. La taille du POST peut être définie dans le fichier /etc/php.d/security.ini.
post_max_size=1k
Conclusion
La sécurité est l'un des problèmes les plus préoccupants pour les développeurs Web et les administrateurs Linux. Si vous prenez les points ci-dessus, vous pourrez renforcer la sécurité de votre environnement de développement et de vos applications web PHP. Si vous pensez que nous avons manqué quelque chose d'important, veuillez laisser un message pour l'ajouter.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.
