Sécuriser Vos Application PHP
Sommaire:
La Base
✔ Assurez vous que votre serveur est sécurisé! Que votre hébergeur est digne de confiance …
✔ Vérifiez que vous utilisez des mots de passe dit FORTS.
Par exemple pour accéder a votre Base de Données, ou a la partie admin de votre application.
On privilégiera les mots de passe long avec des alternances chiffres/lettres/symboles et une alternance majuscule minuscule. On évitera a tout prix les dates de naissance, noms, prénoms ou tout mots du dictionnaire. Exemple de mot de passe: c€_Mot2p@ss€-A2-la-bAlle!
✔ Désactivez l’affichage des erreurs
Il est en effet important de ne pas laisser filtrer la moindre information sur votre configuration ainsi que sur d’éventuelles erreurs qui pourraient être exploitées.
Pour cela il faut mettre la directive display_errors a OFF
- Soit en modifiant le fichier php.ini
; Désactivation de display_errors pour des raisons de sécurité display_errors = 'off'
- Soit (si vous utilisez un serveur Apache) en utilisant un fichier .htaccess contenant
# Désactivation de display_errors pour des raisons de sécurité php_flag display_errors off
✔ Désactivez la directive register_globals
Outre le fait que cette directive disparait a partir de PHP6 elle constitue un risque en terme de sécurité car elle permet a l’utilisateur d’injecter n’importe qu’elle valeur dans n’importe qu’elle variable.
Pour mettre la directive register_globals a OFF on peut s’y prendre de 2 manières
- Soit en modifiant le fichier le php.ini
; Désactivation de register_globals pour des raisons de sécurité register_globals = 'off'
- Soit (si vous utilisez un serveur Apache) en utilisant un fichier .htaccess contenant
# Désactivation de register_globals pour des raisons de sécurité php_flag register_globals off
✔ Désactivez les magic quotes
Outre le fait que cette directive est Obsolete depuis PHP 5.3 et Supprimee a partir de PHP 6 elle donne aux développeurs PHP la fausse impression d’être protégés contre les injections SQL. De plus l’échappement automatique peut vite devenir un cauchemar. Mieux vaut donc échapper et sécuriser ses données soit même que de s’appuyer sur une fonctionnalité automatique et inefficace.
Pour cela il vous faudra desactiver les directives magic_quotes_gpc et magic_quotes_runtime
- Soit en modifiant le fichier le php.ini
; Désactivation des magic quotes pour des raisons de sécurité magic_quotes_gpc = 'off' magic_quotes_runtime = 'off'
- Soit (si vous utilisez un serveur Apache) en utilisant un fichier .htaccess contenant
# Désactivation des magic quotes pour des raisons de sécurité php_flag magic_quotes_gpc off php_flag magic_quotes_runtime off
Leave a reply