[PHP] Grr Expression régulière.....

Statut
N'est pas ouverte pour d'autres réponses.

k o D

Elite
Bonjour.

Voilà je sécurise un peu mon code afin d'éviter toute tentative d'insertion de script dans mes chaînes de caractères... et j'ai un soucis...

Code:
	function secureText($text) {
		$interdit = array ("`<\.\?script\.\*>\.\*<\/script>`");
		$remplacement = array("");
		$text = preg_replace($interdit,$remplacement,strtolower($text));
		return $text;
	}
Code:
$r = secureText("< script type=\"text/javasqqcript\" src=\"lib/lib.js\">blablabblablab</script dqdq>");
			echo ' voici: '.$r.' hehe';
Il se trouve que je ne parviens pas à effacer ce cas avec l'espace entre le "<" et le script de la balise ouvrante...
Et là je ne comprend vraiment pas pourquoi... :pfiou:

Là-dessus, je compte utiliser aussi htmlentities... auriez-vous d'autres suggestions pour sécuriser mon contenu? Je précise que ces chaînes de caractères contiendront des balises HTML à interpréter !

Merci d'avance!
 

kokotchY

Elite
< script ...> ... ne devrait jamais poser de problème, pourquoi essayer de le virer ?

En ce qui concerne la sécurité, un mysql_real_escape_string avant l'envoie dans la base de donnée est déjà pas mal.
 
1er
OP
k o D

k o D

Elite
kokotchY a dit:
< script ...> ... ne devrait jamais poser de problème, pourquoi essayer de le virer ?

En ce qui concerne la sécurité, un mysql_real_escape_string avant l'envoie dans la base de donnée est déjà pas mal.
Parce que je joue avec Ajax.
 

Tifox

ou pas
j'ai pas le manue les regexp preg sous les yeux, mais il me semble que l'espace, c'est "\s" et pas " ".
 
1er
OP
k o D

k o D

Elite
Tifox a dit:
j'ai pas le manue les regexp preg sous les yeux, mais il me semble que l'espace, c'est "\s" et pas " ".
ben le \.\? devrait le détecter... mais bon même avec \s çà ne fonctionne pas.
 

La Poubelle

Pou'r allé Danché
Ca sert strictement à rien,

il suffit d'insérer discrétement n'importe qu'elle objet html avec un évènement qui génèrera un script.
 
1er
OP
k o D

k o D

Elite
La Poubelle a dit:
Ca sert strictement à rien,

il suffit d'insérer discrétement n'importe qu'elle objet html avec un évènement qui génèrera un script.
Et comment puis-je sécuriser alors?
 

Tifox

ou pas
Si c'est pour une page HTML, remplace déjà les "<" ">" par "&lt;" et "&gt;"...

Après, il nous faudrait un peu plus d'infos sur l'endroit ou c'est utilisé et comment.
 
1er
OP
k o D

k o D

Elite
J'utilise un éditeur WYSIWYG que vous pouvez visualiser à cette adresse:
http://kod.mc-fly.be/editeur

Seulement je souhaite qu'il soit le plus sécurisé possible étant donné qu'il n'utilise pas de bbcode mais directement du code HTML...

Voilà tout simplement ;)
 

Tifox

ou pas
Ah, effectivement, dans ce cas, ma méthode ne s'applique pas directement

Par contre, vu que tu as l'air d'avoir codé l'éditeur, tu devrais savoir exactement quel balise HTML autoriser. donc tu remplaces tous les "<" et ">" par des "&lt;" et "&gt;", sauf pour les balises qui sont autorisée. Comme ça tu n'as non pas a rechercher toute les possibilité de ce qui peut etre foireux (et il y en a beaucoup), mais uniquement ce dont tu es sur qui n'est pas foireux.

Enfin voila, c'est juste une idée comme ça.
 
1er
OP
k o D

k o D

Elite
Tifox a dit:
Ah, effectivement, dans ce cas, ma méthode ne s'applique pas directement

Par contre, vu que tu as l'air d'avoir codé l'éditeur, tu devrais savoir exactement quel balise HTML autoriser. donc tu remplaces tous les "<" et ">" par des "&lt;" et "&gt;", sauf pour les balises qui sont autorisée. Comme ça tu n'as non pas a rechercher toute les possibilité de ce qui peut etre foireux (et il y en a beaucoup), mais uniquement ce dont tu es sur qui n'est pas foireux.

Enfin voila, c'est juste une idée comme ça.
J'ai fortement bidouillé l'éditeur... mais il provient d'une base, elle-même repris par quelqu'un pour l'amélioration du look et moi j'ai terminé en l'adaptant totalement à mes besoins.

Je pense que c'est ce que je vais faire, on verra bien. :-D
Merci bien ;)
 

La Poubelle

Pou'r allé Danché
k o D a dit:
J'ai fortement bidouillé l'éditeur... mais il provient d'une base, elle-même repris par quelqu'un pour l'amélioration du look et moi j'ai terminé en l'adaptant totalement à mes besoins.

Je pense que c'est ce que je vais faire, on verra bien. :-D
Merci bien ;)
Tu diras quand tu l'auras sécurisé, pour "tester" :twisted:

<div onmouseover="alert('chiant')" onmousemove="alert('tres chiant')" onmouseup="alert('chiante')" >efef</div>

De la, on peut faire joujou avec tous les évènements et propriétés possible.

Un petit forcage d'écriture du ascii pour écrire <SCRIPT>
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut