[PHP] Regex [Résolu/Fermé]

Signaler
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
-
coeus
Messages postés
3077
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
-
Bonjour, j'aimerais faire une regex qui permet de vérifier si il y a des balises script dans l'url.
J'ai une url comme ça :
.php?variable=
J'aimerais avoir une regex qui vérifie si il y a quelquechose comme ça :
.php?variable=<script>n'importequel caractere</script>

Voilà ^^'

12 réponses

Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
up ^^'
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
up...
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
up ^^
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
Up, c'est important :/
Messages postés
3077
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
117
Salut !

Quel est le but de l'opération ? Est-ce que c'est pour de la sécurité ? Si c'est ça, il y a probablement des moyens plus faciles...

Mais sinon, petite référence :
http://ca3.php.net/manual/en/function.preg-grep.php

Tu passes ce filtre-là :
$fl_array = preg_grep("\<script\>", $_GET["variable"]);


quand tu récupères ta variable de ton url... Ou quelque chose dans le genre. Dis-moi si ça répond à ta question...
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
En fait j'ai besoin de faire un truc de ce genre :
if (isset($_GET['variable']) AND ...regex pour savoir si il y a <script>...</script> dans l'url...)
{
	echo 'Il y a des balises script dans l'url';
	}
	
else
{
echo '...';
}
Messages postés
3077
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
117
$erreur = '';

if (isset($_GET['variable'])) {
	$erreur = preg_grep("\<.*script.*\>", $_GET["variable"]);

	if (count($erreur) > 1) {
		echo 'Il y a des balises script dans l'url';
	} else {
		echo 'Pas d\'erreur !';
	}
}


Je n'ai pas testé... Dis-moi si ça marche... :-S
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
Warning: preg_grep() expects parameter 2 to be array, string given in C:\... on line 5

Ligne 5 : $erreur = preg_grep("\<.*script.*\>", $_GET["variable"]);
Messages postés
3077
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
117
Mmmmmm essaie avec preg_match au lieu de preg_grep ?
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
Merci, ça marche, par contre fallait juste rajouter les '#' au début et à la fin :D
Seul soucis, ça marche si on fait
.php?variable=<script>
J'aimerais que cela marche que si la balise est refermée..
Si c'est possible :s
Merci d'avance
Luxerails
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
up
coeus
Messages postés
3077
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
117
Dans ce cas :

preg_grep("\<.*script.*\>.*\</.*script.*\>", $_GET["variable"]);

Je pense que ça devrait faire l'affaire ;-)
Luxerails
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
J'ai changé ton code par
preg_match("#\<.*script.*\>.*\</.*script.*\>#", $_GET["variable"])


...Et ça marche! merci beaucoup ^^
coeus
Messages postés
3077
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
117
Content d'aider ! ;-)
Messages postés
293
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
12 mars 2013
30
.php?variable=<script><script><script></script></script></script>
n'importe quel caractere meme ceci ?
Messages postés
159
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2012
40
Oui, vraiment n'importequoi du moment que ca commence par <script> et se finit par </script>.