Comment proteger son site

Comment proteger son site - PHP - Programmation

Marsh Posté le 27-01-2009 à 13:35:43    

Bonjour à tous  
 
Je suis novice en php et j'aurai besoin de vos lumieres  
 
Je viens de finir un site internet et je voulais savoir comment faire pour le proteger contre d'eventuelles attaques et injections intempestives
 
J'ai déjà un pop up qui s'affiche que je n'arrive pas à stopper (tradedoubler)  
 
Pourriez vous m'aider svp , j'ai déjà batailler pour apprendre le php , je ne voudrais pas qu'on me flingue le site
 
merci d'avance :hello:

Reply

Marsh Posté le 27-01-2009 à 13:35:43   

Reply

Marsh Posté le 27-01-2009 à 13:38:30    

Oups j'ai oublié de mettre l'adresse du site  
http://jouer.miser.parier.free.fr
 
voilà

Reply

Marsh Posté le 27-01-2009 à 17:42:49    

Une première règle à appliquer serait déjà de veiller à ce que toute variable saisie par l'utilisateur soit filtrée pour empêcher toute injection de code. htmlspecialchars est un bon départ :).

Reply

Marsh Posté le 27-01-2009 à 18:37:47    

Oui, il faut éviter :
1 - les failles XSS (injections de code HTML)
On affiche des données pouvant contenir du code HTML et donc javascript. Ce code pourrait permettre de récupérer les cookies d'un visiteur dans le cadre d'une usurpation d'identité par exemple.

Code :
  1. page.php?truc=<script>alert(document.cooki);</script>


Code :
  1. // exécute le javascript
  2. echo $_GET['truc'];


 

Code :
  1. // échappe le HTML et n'exécute le javascript
  2. echo htmlspecialchars($_GET['truc']);


Fausse bonne idée : utiliser la fonction strip_tags qui suppriment les caractères HTML.
Attention : je te conseille d'appeler htmlspecialchars() à l'affichage seulement ;).
2 - Les injections de code SQL (google est ton ami)
Il faut les protéger à l'aide de la fonction mysql_real_escape_string si tu utilises mysql en mode procédural.

Code :
  1. $var = mysql_real_escape_string($_POST['var']);


Fausse bonne idée : utiliser addslashes qui n'échappe que les guillemets.

Reply

Sujets relatifs:

Leave a Replay

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