[PHP] Regex

Résolu/Fermé
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 - 19 avril 2011 à 14:14
coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 - 20 avril 2011 à 14:03
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à ^^'
A voir également:

12 réponses

Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
19 avril 2011 à 14:39
up ^^'
0
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
19 avril 2011 à 14:56
up...
0
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
19 avril 2011 à 19:28
up ^^
0
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
19 avril 2011 à 21:23
Up, c'est important :/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
19 avril 2011 à 21:56
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 :
https://www.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...
0
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
19 avril 2011 à 22:09
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 '...';
}
0
coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
19 avril 2011 à 22:37
$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
0
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
19 avril 2011 à 23:25
Warning: preg_grep() expects parameter 2 to be array, string given in C:\... on line 5

Ligne 5 : $erreur = preg_grep("\<.*script.*\>", $_GET["variable"]);
0
coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
20 avril 2011 à 00:08
Mmmmmm essaie avec preg_match au lieu de preg_grep ?
0
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
20 avril 2011 à 00:17
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
0
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
20 avril 2011 à 11:20
up
0
coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
Modifié par coeus le 20/04/2011 à 13:11
Dans ce cas :

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

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


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