[PHP] drapeux avec filter_var()

Fermé
Kdopj Messages postés 18 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 18 mai 2011 - Modifié par Kdopj le 12/07/2010 à 18:00
Kdopj Messages postés 18 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 18 mai 2011 - 16 juil. 2010 à 19:03
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.
A voir également:

9 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 498
12 juil. 2010 à 22:30
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
Kdopj Messages postés 18 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 18 mai 2011
Modifié par Kdopj le 13/07/2010 à 00:53
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
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 498
13 juil. 2010 à 01:09
Je te les ai expliqué, sauf "SCHEME"
0
Kdopj Messages postés 18 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 18 mai 2011
13 juil. 2010 à 01:52
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

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

Posez votre question
ziqumu Messages postés 129 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 15 août 2011 14
Modifié par ziqumu le 13/07/2010 à 03:25
"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
Kdopj Messages postés 18 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 18 mai 2011
13 juil. 2010 à 04:41
D'accord merci :)

Et si on met rien (la fonction sans drapeau) que ce passe t-il ?
0
Leviathan49 Messages postés 257 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 22 juillet 2011 70
13 juil. 2010 à 11:27
https://www.php.net/manual/fr/filter.filters.validate.php

Regardes la colonne flag pour voir les drapeaux activés par défaut.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 498
13 juil. 2010 à 14:32
Ç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
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 498
Modifié par avion-f16 le 14/07/2010 à 00:15
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
Kdopj Messages postés 18 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 18 mai 2011
13 juil. 2010 à 23:45
Je pense que tu t'es trompé de topic, la on parle pas de MySQL, mais des drapeaux de filter_var().
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 498
14 juil. 2010 à 00:17
Ouais, désolé, j'ai encore dû vouloir scroller avec le curseur sur le barre d'onglets ;)
0
Kdopj Messages postés 18 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 18 mai 2011
15 juil. 2010 à 01:37
xD, t'es pas le seul à qui ça arrive t'inquiète pas.
0
Kdopj Messages postés 18 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 18 mai 2011
16 juil. 2010 à 19:03
Je pense pas que ce sois ça car j'ai fait un test et cela ne correspond pas.
0