Sécuriser un site web en php - PHP - Programmation
Marsh Posté le 26-02-2010 à 09:32:27
hello,
la sécurité n'est pas qu'une question de "htmlentities" (ça serait trop beau !) mais surtout de réflexion sur l'application.
quelques conseils en vrac :
- pas d'upload de la part des visiteurs ou alors contrôle très strict des fichiers (exif pour les images)
- chmods suffisamment permissifs mais sans en avoir trop
- pas de fichiers sensibles accessibles trop facilement (style "identifiants_connexion_mysql.inc" )
- ce n'est pas une faille à proprement parler parce que ça ne génère pas d'erreur, mais c'est toujours bien de masquer le listing des dossiers, soit par une directive apache, soit par un fichier "index.html" vide
- pas de messages d'erreurs non traités
- pas de "@" devant les fonctions pour masquer les erreurs sans traitement sous-jacent
- grosse réflexion sur tout ce qui vient du visiteur, qui est par défaut non sécurisé : $_POST, $_GET, $_SERVER (pour certaines)
- effectivement, requêtes protégées
- accès aux pages protégées bien défini et délimité (qu'on ne puisse pas par simple modif d'une valeur d'URL avoir accès à ce qu'on ne devrait pas voir)
- ne pas hésiter à utiliser le typage des données (même si php l'est (trop) faiblement, mais utiliser un intval sur un ID d'article est toujours mieux que rien)
- htmlentities à l'affichage, en effet
- pas de sécurité via Javascript, éventuellement quelques contrôles de saisies mais "rien de bien méchant" vu que Javascript peut être désactivé
- pas de mysql_error() qui traine, ou alors sa réponse doit être envoyée par mail au webmaster
je pense que d'autres en apporteront, n'hésite pas à rechercher sur le forum, d'autres astuces trainent ça et là.
Marsh Posté le 26-02-2010 à 11:45:01
NewsletTux a écrit : - pas de mysql_error() qui traine, ou alors sa réponse doit être envoyée par mail au webmaster |
Sauf que sur un site assez fréquenté, tu en as rapidement une tripoté, et c'est un coup à surcharger le serveur mail.
Marsh Posté le 26-02-2010 à 09:17:55
Salut a tous
Je viens de finir le développement d'un site e-commerce et je voulais savoir comment bien sécuriser mon site pour éviter de me le faire haker au bout d'une semaine.
Qu'elles sont les filtres à appliquer sur les formulaires pour éviter l'injection Mysql ?
J'ai déjà appliqué htmlentities mais y en a t'il d'autres?
Merci de me donner tous les points sensibles que vous voyez.