Sécuriser un site web en php

Sécuriser un site web en php - PHP - Programmation

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.

Reply

Marsh Posté le 26-02-2010 à 09:17:55   

Reply

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à.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

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.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed