UTF-8 overlong

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : UTF-8 overlong

UTF-8 overlong

par personne » 17 juin 2012, 18:04

Bonjour à tous,

J'essaie de faire un overlong sous PHP, mais je n'y arrive pas :

Code : Tout sélectionner

$b2 = "\xE0\x83\xA9"; echo mb_detect_encoding($b2) ; // Affiche UTF-8 echo utf8_decode($b2); // N'affiche rien
L'insertion MySQL échoue aussi. Pareil pour tout ce que j'ai testé (mb_strtoupper).

J'ai pris le caracrtère "é", unicode 233 :

Valeur binaire : 11 101001
Ecriture normale : 11000011 10101001 (C3 A9)
Ecriture que j'ai mise en overlong : 11100000 10000011 10101001 (E0 83 A9)

Quelqu'un connaît une faille exploitable (une fonction courante) ? C'est strictement un test de réaction, pas une solution pour hacker un site puisque je cherche à cerner PHP et ses extensions en ce qui concerne l'overlong (j'ai déjà fait des tests en faisant des traitements utf-8 sur de l'iso, c'est moins glorieux ;))

Merci, A+