Page 1 sur 1

Sécurisé, Question

Posté : 02 juin 2012, 10:04
par Asicoo
Bonjour,
Ayait crée toutes mes pages à l'arraches, je veux sécurisé toutes données maintenant x).


mysql_escape_string (Pour enregistrer dans une base de donnée ou demander une vérification)
htmlentities (pour afficher le contenu d'une base de donnée ou autre)
htmlspecialchars (convertit certains caractères html ??)

Es-ce juste ? x)

Re: Sécurisé, Question

Posté : 02 juin 2012, 10:40
par xTG
htmlentities ou htmlspecialchars, mais utiliser les deux en même temps n'a pas vraiment d'intérêt.
Mais mysql_real_escape_string() ne protège pas tout. Il va juste échapper les données, jamais il ne testera ce qu'il échappe.
Donc si cela doit être un entier et que c'est une lettre bah dommage...

Bref réfléchis la prochaine fois au lieu de coder comme un cochon.
Prendre des bonnes habitudes c'est se prémunir d'un lourd travail de maintenance. ;)

Re: Sécurisé, Question

Posté : 02 juin 2012, 10:55
par Asicoo
J'ai tendance à aller trop vite en oubliant l'essentiel, mais toujours fais ça fin bon je perd du temps pour rien ^^
Merci pour ces précisions.

Re: Sécurisé, Question

Posté : 02 juin 2012, 12:35
par Ryle
C'est pas tant le lourd travail de maintenance qu'il faut craindre.. ça c'est juste la pénitence pour ne pas l'avoir fait dès le départ.. le risque c'est surtout de tout perdre, donner des accès non désirés voire pire...

Deux des principaux problèmes de sécurités sont effectivement
- les injections sql, qui consistent à passer des valeurs non prévue dans ta requête pour qu'elle fasse autre chose (supprimer des données au lieu de les lister par exemple). mysql_real_escape_string() permet effectivement de protéger les caractères spéciaux d'une chaine de caractère pour l'utiliser dans une requête sql, mais ne vérifieras effectivement pas que les données transmises sont au bon format. Les contrôles sont à faire avant l'enregistrement en base des données soumises par l'utilisateur.
- le cross scripting (ou XSS) qui consiste à envoyer des instructions html/javascript qui seront exécutés lorsque les utilisateurs accéderont à la page. htmlentities/htmlspecialchars permettent de remplacer le html par des entités équivalente pour forcer l'affichage de la chaine sans qu'elle soit exécutée. Les contrôles sont plutôt à faire avant l'affichage des données soumises par l'utilisateur afin de garder des valeurs non formatées en base (et ainsi pouvoir les utiliser pour autre chose que de l'affichage html)

Re: Sécurisé, Question

Posté : 02 juin 2012, 13:22
par Asicoo
Wouah!
Merci pour ces grandes précisions, de toute façon je ne donne pas le le CMS avant qu'il soit correctement sécurisé.
Et surtout de les tester.
Comment tester ces failles ?