[PHP] Regex

Résolu
Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   -  
coeus Messages postés 3296 Statut Membre -
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. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
     
    up ^^'
    0
  2. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
     
    up...
    0
  3. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
     
    up ^^
    0
  4. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
     
    Up, c'est important :/
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. coeus Messages postés 3296 Statut Membre 120
     
    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
  7. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
     
    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
  8. coeus Messages postés 3296 Statut Membre 120
     
    $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
  9. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
     
    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
  10. coeus Messages postés 3296 Statut Membre 120
     
    Mmmmmm essaie avec preg_match au lieu de preg_grep ?
    0
  11. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
     
    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
    1. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
       
      up
      0
    2. coeus Messages postés 3296 Statut Membre 120
       
      Dans ce cas :

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

      Je pense que ça devrait faire l'affaire ;-)
      0
    3. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
       
      J'ai changé ton code par
      preg_match("#\<.*script.*\>.*\</.*script.*\>#", $_GET["variable"])


      ...Et ça marche! merci beaucoup ^^
      0
    4. coeus Messages postés 3296 Statut Membre 120
       
      Content d'aider ! ;-)
      0
  12. ktm620enduro Messages postés 377 Statut Membre 38
     
    .php?variable=<script><script><script></script></script></script>
    n'importe quel caractere meme ceci ?
    0
  13. Luxerails Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   41
     
    Oui, vraiment n'importequoi du moment que ca commence par <script> et se finit par </script>.
    0