[PHP] Regex

Résolu
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

  1. Oui, vraiment n'importequoi du moment que ca commence par <script> et se finit par </script>.
    1. .php?variable=<script><script><script></script></script></script>
      n'importe quel caractere meme ceci ?
      1. 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
        1. up
        2. Dans ce cas :

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

          Je pense que ça devrait faire l'affaire ;-)
        3. J'ai changé ton code par
          preg_match("#\<.*script.*\>.*\</.*script.*\>#", $_GET["variable"])


          ...Et ça marche! merci beaucoup ^^
        4. Content d'aider ! ;-)
      2. Warning: preg_grep() expects parameter 2 to be array, string given in C:\... on line 5

        Ligne 5 : $erreur = preg_grep("\<.*script.*\>", $_GET["variable"]);
        1. $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
          1. 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 '...';
            }
            1. 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...