[PHP] drapeux avec filter_var()

Kdopj Messages postés 21 Statut Membre -  
Kdopj Messages postés 21 Statut Membre -
Bonjour,

J'aimerais avoir plus d'informations sur les drapeaux de filter_var() avec FILTER_VALIDATE_URL.

Sur la doc PHP il en parle pas : https://www.php.net/manual/fr/function.filter-var.php

Pouvez vous donc me dire la signification de c'est drapeaux après FILTER_VALIDATE_URL :

FILTER_FLAG_SCHEME_REQUIRED
FILTER_FLAG_HOST_REQUIRED
FILTER_FLAG_PATH_REQUIRED
FILTER_FLAG_QUERY_REQUIRED

Voila mon code actuel :

<?php
if(!filter_var($_POST['url'], FILTER_VALIDATE_URL)) {
echo 'PAS OK';
}
?>


Merci d'avance.

9 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut.

    Voilà toutes les constantes de cette extension :
    https://www.php.net/manual/fr/filter.constants.php

    "HOST" : requis le nom de domaine dans la chaine
    "PATH" : requis un chemin dans l'URL (après le domaine)
    "QUERY" : requis des données GET ("?var=val&var2=val2&...")

    Tu peux les combiner avec le signe « | » entre ces différentes constantes.
    0
  2. Kdopj Messages postés 21 Statut Membre
     
    D'accord merci pour la page.

    FILTER_FLAG_SCHEME_REQUIRED => Schéma requis. = ?
    FILTER_FLAG_HOST_REQUIRED => Hôte requis. = ?
    FILTER_FLAG_PATH_REQUIRED => Chemin requis. = http://site.com/dossier/
    FILTER_FLAG_QUERY_REQUIRED => Requête requise. = ?

    Je connais pas la signification, serrait t-il possible d'avoir des exemple ?
    Et si on ne met pas de drapeau il se passe quoi ?

    Merci d'avance.
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Je te les ai expliqué, sauf "SCHEME"
    0
  4. Kdopj Messages postés 21 Statut Membre
     
    Ah oui exact, j'ai regardé trop vite, désolé.

    Pour "HOST" c'est que le http:// est facultatif ?
    Sinon "SCHEME" c'est quoi ?
    Puis si on met rien, il ce passe quoi ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ziqumu Messages postés 148 Statut Membre 14
     
    "Des options sont éventuellement utilisées par la validation et le nettoyage, pour adapter leur comportement à des besoins spécifiques. Par exemple, avec l'option FILTER_FLAG_SCHEME_REQUIRED pour filter une URL, il faut indiquer le protocole utilisée (tel que http://)."

    On prend l'exemple de une page fictive de ccm :

    http:// www.commentcamarche.net/forum/afficher-une-page.php?couleur=bleu&couleur2=rouge


    "SHEME"
    c'est le http:// (le protocole, ca peut aussi être https:// ou ftp://)
    "HOST" c'est le www.commentcamarche.net (le nom de domaine, juste la base avant les slash /)
    "PATH" c'est forum/afficher-une-page.php (la partit après le premier slash ( / ) jusqu'au point d'interrogationetsi il y en a pas c'est jusqu'à la fin)
    "QUERY" c'est couleur=bleu&couleur2=rouge (après le point d'enterrogation)
    0
  7. Kdopj Messages postés 21 Statut Membre
     
    D'accord merci :)

    Et si on met rien (la fonction sans drapeau) que ce passe t-il ?
    0
  8. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Ça permet de dire à MySQL d'ignorer la gestion des droits. Même un utilisateur ultra-limité peut faire ce qu'il veut.

    N'oublie pas de redémarrer le serveur après ;)
    0
    1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Chaque utilisateur peut faire certaines choses et pas d'autres.
      root est celui qui peut tout faire.
      Avec cette option, tous les utilisateurs peuvent tout faire, y compris créer d'autres utilisateurs.
      0
    2. Kdopj Messages postés 21 Statut Membre
       
      Je pense que tu t'es trompé de topic, la on parle pas de MySQL, mais des drapeaux de filter_var().
      0
    3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Ouais, désolé, j'ai encore dû vouloir scroller avec le curseur sur le barre d'onglets ;)
      0
    4. Kdopj Messages postés 21 Statut Membre
       
      xD, t'es pas le seul à qui ça arrive t'inquiète pas.
      0
  9. Kdopj Messages postés 21 Statut Membre
     
    Je pense pas que ce sois ça car j'ai fait un test et cela ne correspond pas.
    0