Quelques astuces pour sécuriser son site

5 mai 2013 nakama

Développement

(Cet article a été écrit il y a très longtemps, dans une galaxie très très lointaine)

Comme beaucoup, la sécurité de son site Internet est un élément très important !

Je ne vais pas vous dire ce qu’il doit être fait pour avoir une protection 100% efficace ^^ car ça n’existe pas, mais je vais plutôt mettre en avant des bonnes pratiques à avoir afin de minimiser les risques.

Savoir ce qu’on manipule ?

Avant de commencer à coder n’importe quoi 🙂 il faut tjs s’assurer de ce que contient la variable qui va être utiliser (entier ? float ? string ? etc…)

Maintenant que la variable est bien configurée, on peut utiliser des fonctions natives de php pour tester si la variable contient réellement ce que nous voulons.

is_numeric détermine si la variable donnée est de type numérique.
is_string détermine si la variable donnée est de type chaîne de caractères.

Formulaire

Quand on utilise un formulaire sur son site, on aimerait pouvoir le sécurisé un maximum.

strip_tags est très utile, cette fonction permet de conserver uniquement le texte et supprime les balises (html et php). En 2e argument, il est possible de dire quelles balises conserver.

Ici, les balises strong et a seront gardés tandis que toutes les autres balises seront supprimées. Dans notre exemple, il ne restera que le texte, la balise strong avec son contenu et la balise a avec son contenu.

Et si on veut crypter des choses ? on fait comment ?

Il existe beaucoup de fonctions de php pour crypter le contenu d’une variable (md5 et sha1 les plus connus je pense) :

MD5 et SHA1 génèrent une chaine fixe ! Donc en soit il est possible de revenir en arrière. Évidemment, il n’existe pas de fonction qui le permet (heureusement) mais il existe sur le Web des bases de données de mots crypter avec ces méthodes.

C’est pourquoi, ces méthodes ne sont pas à utiliser seul ! Vous devez ajouter votre mot qui va ce coupler avec celui à crypter (vous avez probablement déjà entendu le terme SALT).

Comme vous pouvez le voir, la chaine crypter en sha1 est totalement différente de la précédente. Du coup, il est ‘un peu’ plus compliqué de trouver le bon mot.

Il existe une autre fonction php que j’aime tout particulièrement, car elle donne la possibilité de tout faire : hash(…)

Heureusement, md5 et hash(‘md5’) le résultat est identique, comme pour sha1, car le système de cryptage sélectionné est le même.

Il y a encore bien plus de possibilité de hash : je vous laisse consulter le site.

Et pour pousser le vice assez loin : voici un petit exemple de ce qu’il est possible de faire pour crypter le mot ‘bonjour’.

Pour la dernière ligne, je récupère uniquement la chaine qui va commencer à partir du caractère 4 et finir 54 caractères après.

Plusieurs points sont importants :

– on transforme en minuscule le mot que l’on veut crypter
– on change les lettres avec les éléments de notre tableau
– on ajoute notre salt (ou plusieurs ^^)
– on hash en sha256
– on récupère qu’une partie du hash

Cet exemple n’est pas infaillible ! Si un Hacker trouve votre fonctionnement … c’est foutu XD ! C’est comme n’importe quelle méthode de cryptage, si le processus est découvert … il tombe à l’eau.

Mots-clés associés à cet article :

Retrouvez d'autres articles par catégories

efficitur. elit. dapibus Sed consectetur accumsan elementum Aenean