Abouter une variable à une url pour la récupérer dans la page appelée, suite
9 réponses
Le Retour
Bonsoir aux uns, bonjour aux autres,
Merci pour toutes les réponses concernant la manière de récupérer une
variable aboutée à une URL par un #, ce qui s'avère impossible en php. Je
n'ai pas su exploiter la technique javascript, dont je ne suis pas très
familier, mais ayant trouvé une astuce qui peut en intéresser certains, je
la communique ici:
J'aboute donc ma variable à l'URL par un ? comme suggéré par db,
l'enregistre en session dans la page appelée et la réexpédie par un header
vers le script de destination; ainsi ma variable n'apparait pas dans l'url
de la page ouverte.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Merci pour toutes les réponses concernant la manière de récupérer une variable aboutée à une URL par un #, ce qui s'avère impossible en php. Je n'ai pas su exploiter la technique javascript, dont je ne suis pas très familier, mais ayant trouvé une astuce qui peut en intéresser certains, je la communique ici: J'aboute donc ma variable à l'URL par un ? comme suggéré par db, l'enregistre en session dans la page appelée et la réexpédie par un header vers le script de destination; ainsi ma variable n'apparait pas dans l'url de la page ouverte.
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle se déplacer au sein d'une page (que ce soit avec les flèches, la souris, ou en suivant une ancre interne #xxx) ne devrait pas générer une requête différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai- merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Merci pour toutes les réponses concernant la manière de récupérer une
variable aboutée à une URL par un #, ce qui s'avère impossible en php. Je
n'ai pas su exploiter la technique javascript, dont je ne suis pas très
familier, mais ayant trouvé une astuce qui peut en intéresser certains, je
la communique ici:
J'aboute donc ma variable à l'URL par un ? comme suggéré par db,
l'enregistre en session dans la page appelée et la réexpédie par un header
vers le script de destination; ainsi ma variable n'apparait pas dans l'url
de la page ouverte.
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle
se déplacer au sein d'une page (que ce soit avec les flèches, la souris,
ou en suivant une ancre interne #xxx) ne devrait pas générer une requête
différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai-
merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Merci pour toutes les réponses concernant la manière de récupérer une variable aboutée à une URL par un #, ce qui s'avère impossible en php. Je n'ai pas su exploiter la technique javascript, dont je ne suis pas très familier, mais ayant trouvé une astuce qui peut en intéresser certains, je la communique ici: J'aboute donc ma variable à l'URL par un ? comme suggéré par db, l'enregistre en session dans la page appelée et la réexpédie par un header vers le script de destination; ainsi ma variable n'apparait pas dans l'url de la page ouverte.
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle se déplacer au sein d'une page (que ce soit avec les flèches, la souris, ou en suivant une ancre interne #xxx) ne devrait pas générer une requête différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai- merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
davel_x
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai-merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Je me sers aussi de cette technique (c'est moche) notamment avec
SWFAddress <http://www.asual.com/swfaddress/>, qui permet d'utiliser la navigation du navigateur dans les animations Flash, couplé à des fonctions qui aident ce qu'on appelle la SEO (Search Engine Optimisation). Cela permet à la fois d'accèder directement à une partie d'une anim Flash sans se retaper tout le parcours (et au passage de pouvoir filer à un pote le lien direct vers une information), tout en assurant un contenu alternatif pour au choix les moteurs de recherche, les mal-voyants, etc.
Il aurait été plus simple de pouvoir récupérer ce qui se trouve après le # en PHP mais si on y réfléchi bien, il est normal que ce soit impossible, alors autant utiliser des moyens alambiqués pour arriver à une certaine fin. :)
-- **davel** http://www.davel.fr/blog/
C'est ton site et tu y fais ce que tu veux, mais par curiosité
j'ai-merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Je me sers aussi de cette technique (c'est moche) notamment avec
SWFAddress <http://www.asual.com/swfaddress/>, qui permet d'utiliser la
navigation du navigateur dans les animations Flash, couplé à des
fonctions qui aident ce qu'on appelle la SEO (Search Engine
Optimisation). Cela permet à la fois d'accèder directement à une partie
d'une anim Flash sans se retaper tout le parcours (et au passage de
pouvoir filer à un pote le lien direct vers une information), tout en
assurant un contenu alternatif pour au choix les moteurs de recherche,
les mal-voyants, etc.
Il aurait été plus simple de pouvoir récupérer ce qui se trouve après le
# en PHP mais si on y réfléchi bien, il est normal que ce soit
impossible, alors autant utiliser des moyens alambiqués pour arriver à
une certaine fin. :)
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai-merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Je me sers aussi de cette technique (c'est moche) notamment avec
SWFAddress <http://www.asual.com/swfaddress/>, qui permet d'utiliser la navigation du navigateur dans les animations Flash, couplé à des fonctions qui aident ce qu'on appelle la SEO (Search Engine Optimisation). Cela permet à la fois d'accèder directement à une partie d'une anim Flash sans se retaper tout le parcours (et au passage de pouvoir filer à un pote le lien direct vers une information), tout en assurant un contenu alternatif pour au choix les moteurs de recherche, les mal-voyants, etc.
Il aurait été plus simple de pouvoir récupérer ce qui se trouve après le # en PHP mais si on y réfléchi bien, il est normal que ce soit impossible, alors autant utiliser des moyens alambiqués pour arriver à une certaine fin. :)
-- **davel** http://www.davel.fr/blog/
Olivier Miakinen
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai-merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Tiens ? Par curiosité également, j'aimerais bien savoir pourquoi ma question a été reformatée. C'est ton Thunderbird qui a décidé ça tout seul ou bien tu l'y as incité ?
Je me sers aussi de cette technique (c'est moche) notamment avec SWFAddress <http://www.asual.com/swfaddress/>, qui permet d'utiliser la navigation du navigateur dans les animations Flash, couplé à des fonctions qui aident ce qu'on appelle la SEO (Search Engine Optimisation). [...]
Merci de ta réponse claire et précise.
C'est ton site et tu y fais ce que tu veux, mais par curiosité
j'ai-merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Tiens ? Par curiosité également, j'aimerais bien savoir pourquoi ma
question a été reformatée. C'est ton Thunderbird qui a décidé ça tout
seul ou bien tu l'y as incité ?
Je me sers aussi de cette technique (c'est moche) notamment avec
SWFAddress <http://www.asual.com/swfaddress/>, qui permet d'utiliser la
navigation du navigateur dans les animations Flash, couplé à des
fonctions qui aident ce qu'on appelle la SEO (Search Engine
Optimisation). [...]
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai-merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Tiens ? Par curiosité également, j'aimerais bien savoir pourquoi ma question a été reformatée. C'est ton Thunderbird qui a décidé ça tout seul ou bien tu l'y as incité ?
Je me sers aussi de cette technique (c'est moche) notamment avec SWFAddress <http://www.asual.com/swfaddress/>, qui permet d'utiliser la navigation du navigateur dans les animations Flash, couplé à des fonctions qui aident ce qu'on appelle la SEO (Search Engine Optimisation). [...]
Merci de ta réponse claire et précise.
Le Retour
Donc...., encore débutant et autodidacte, j'ai recherché un moyen permettant, en cliquant sur un lien, en l'occurence une catégorie, d'exécuter une requête dans une bdd, ie extraire toutes les entrées correspondant à la catégorie cliquée. Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça ouvrirait une porte à de possibles injections SQL. Je n'ai pas trouvé mieux pour contourner ce risque, mais si on m'explique, je peux être encore preneur...
Thierry
"Olivier Miakinen" <om+ a écrit dans le message de news:472e6178$
Merci pour toutes les réponses concernant la manière de récupérer une variable aboutée à une URL par un #, ce qui s'avère impossible en php. Je
n'ai pas su exploiter la technique javascript, dont je ne suis pas très familier, mais ayant trouvé une astuce qui peut en intéresser certains, je
la communique ici: J'aboute donc ma variable à l'URL par un ? comme suggéré par db, l'enregistre en session dans la page appelée et la réexpédie par un header
vers le script de destination; ainsi ma variable n'apparait pas dans l'url
de la page ouverte.
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle se déplacer au sein d'une page (que ce soit avec les flèches, la souris, ou en suivant une ancre interne #xxx) ne devrait pas générer une requête différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai- merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Donc....,
encore débutant et autodidacte, j'ai recherché un moyen permettant, en
cliquant sur un lien, en l'occurence une catégorie, d'exécuter une requête
dans une bdd, ie extraire toutes les entrées correspondant à la catégorie
cliquée. Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça
ouvrirait une porte à de possibles injections SQL. Je n'ai pas trouvé mieux
pour contourner ce risque, mais si on m'explique, je peux être encore
preneur...
Thierry
"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de
news:472e6178$1@neottia.net...
Merci pour toutes les réponses concernant la manière de récupérer une
variable aboutée à une URL par un #, ce qui s'avère impossible en php.
Je
n'ai pas su exploiter la technique javascript, dont je ne suis pas très
familier, mais ayant trouvé une astuce qui peut en intéresser certains,
je
la communique ici:
J'aboute donc ma variable à l'URL par un ? comme suggéré par db,
l'enregistre en session dans la page appelée et la réexpédie par un
header
vers le script de destination; ainsi ma variable n'apparait pas dans
l'url
de la page ouverte.
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle
se déplacer au sein d'une page (que ce soit avec les flèches, la souris,
ou en suivant une ancre interne #xxx) ne devrait pas générer une requête
différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai-
merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Donc...., encore débutant et autodidacte, j'ai recherché un moyen permettant, en cliquant sur un lien, en l'occurence une catégorie, d'exécuter une requête dans une bdd, ie extraire toutes les entrées correspondant à la catégorie cliquée. Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça ouvrirait une porte à de possibles injections SQL. Je n'ai pas trouvé mieux pour contourner ce risque, mais si on m'explique, je peux être encore preneur...
Thierry
"Olivier Miakinen" <om+ a écrit dans le message de news:472e6178$
Merci pour toutes les réponses concernant la manière de récupérer une variable aboutée à une URL par un #, ce qui s'avère impossible en php. Je
n'ai pas su exploiter la technique javascript, dont je ne suis pas très familier, mais ayant trouvé une astuce qui peut en intéresser certains, je
la communique ici: J'aboute donc ma variable à l'URL par un ? comme suggéré par db, l'enregistre en session dans la page appelée et la réexpédie par un header
vers le script de destination; ainsi ma variable n'apparait pas dans l'url
de la page ouverte.
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle se déplacer au sein d'une page (que ce soit avec les flèches, la souris, ou en suivant une ancre interne #xxx) ne devrait pas générer une requête différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai- merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
newdb
davel_x wrote:
Il aurait été plus simple de pouvoir récupérer ce qui se trouve après le # en PHP mais si on y réfléchi bien, il est normal que ce soit impossible,...
si je regarde : <http://fr2.php.net/manual/en/function.parse-url.php> (commentaires de kjensen_at_nospam_dot_iaff106_dot_com en bas de page)
-- @@@@@ E -00 comme on est very beaux dis ! ' `) / |_ =="
Mickaël Wolff
davel_x wrote:
Il aurait été plus simple de pouvoir récupérer ce qui se trouve après le # en PHP mais si on y réfléchi bien, il est normal que ce soit impossible,...
si je regarde :
[snip]
ça le fait non ?
Non. Tu n'as pas compris le problème de notre ami. Ce qu'il voulait, c'était traiter l'identifiant (car bon, on va arrêter de parler d'anchor... alors que c'est clairement un attribut ID qui est à spécifier derrière #) côté client. Mais il n'est pas transmis par le client Web, et ne peut donc être exploité côté serveur.
Il aurait été plus simple de pouvoir récupérer ce qui se trouve après le
# en PHP mais si on y réfléchi bien, il est normal que ce soit
impossible,...
si je regarde :
[snip]
ça le fait non ?
Non. Tu n'as pas compris le problème de notre ami. Ce qu'il voulait,
c'était traiter l'identifiant (car bon, on va arrêter de parler
d'anchor... alors que c'est clairement un attribut ID qui est à
spécifier derrière #) côté client. Mais il n'est pas transmis par le
client Web, et ne peut donc être exploité côté serveur.
Il aurait été plus simple de pouvoir récupérer ce qui se trouve après le # en PHP mais si on y réfléchi bien, il est normal que ce soit impossible,...
si je regarde :
[snip]
ça le fait non ?
Non. Tu n'as pas compris le problème de notre ami. Ce qu'il voulait, c'était traiter l'identifiant (car bon, on va arrêter de parler d'anchor... alors que c'est clairement un attribut ID qui est à spécifier derrière #) côté client. Mais il n'est pas transmis par le client Web, et ne peut donc être exploité côté serveur.
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle se déplacer au sein d'une page (que ce soit avec les flèches, la souris, ou en suivant une ancre interne #xxx) ne devrait pas générer une requête différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai- merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Le 06/11/2007 00:27, Le Retour m'a répondu :
Donc...., encore débutant et autodidacte, j'ai recherché un moyen permettant, en cliquant sur un lien, en l'occurence une catégorie, d'exécuter une requête dans une bdd, ie extraire toutes les entrées correspondant à la catégorie cliquée.
D'accord. Tu veux donc faire des requêtes différentes selon la catégorie choisie.
Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça ouvrirait une porte à de possibles injections SQL.
À partir du moment où le paramètre est transmis au serveur, en quoi utiliser un « # » au lieu d'un « ? » pourrait-il changer quoi que ce soit à la possibilité d'injections SQL ?
Je n'ai pas trouvé mieux pour contourner ce risque, mais si on m'explique, je peux être encore preneur...
Ben non, ça ne contournerait rien du tout. En revanche, vérifier soigneusement les données qui te viennent de l'extérieur est en principe nécessaire ET SUFFISANT si tu fais correctement ce contrôle.
Par exemple, si tu n'as que trois rubriques qui sont "truc", "chose" et "bidule", il suffit de refuser tout ce qui n'est pas l'une de ces trois là :
switch($_REQUEST['rubrique']) { case 'truc': case 'chose': case 'bidule': /* C'est parfait, on continue */ break; default: die("Désolé, requête mal formée"); }
Avec ça, aucun risque d'injections. Mais nous sommes devenus parfaitement hors charte ici : va voir du côté du groupe de discussions fr.comp.lang.php si tu as d'autres questions.
[ citation intégrale ]
Mihamina t'a déjà renvoyé vers la doc expliquant la façon habituelle de citer. Mais je te suggère en outre d'installer OE QuoteFix pour corriger certains bugs de ton Outlook Express, en particulier l'alternance de lignes citées et de lignes « nues ».
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle
se déplacer au sein d'une page (que ce soit avec les flèches, la souris,
ou en suivant une ancre interne #xxx) ne devrait pas générer une requête
différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai-
merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Le 06/11/2007 00:27, Le Retour m'a répondu :
Donc....,
encore débutant et autodidacte, j'ai recherché un moyen permettant, en
cliquant sur un lien, en l'occurence une catégorie, d'exécuter une requête
dans une bdd, ie extraire toutes les entrées correspondant à la catégorie
cliquée.
D'accord. Tu veux donc faire des requêtes différentes selon la catégorie
choisie.
Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça
ouvrirait une porte à de possibles injections SQL.
À partir du moment où le paramètre est transmis au serveur, en quoi
utiliser un « # » au lieu d'un « ? » pourrait-il changer quoi que ce
soit à la possibilité d'injections SQL ?
Je n'ai pas trouvé mieux pour contourner ce risque, mais si on
m'explique, je peux être encore preneur...
Ben non, ça ne contournerait rien du tout. En revanche, vérifier
soigneusement les données qui te viennent de l'extérieur est en
principe nécessaire ET SUFFISANT si tu fais correctement ce contrôle.
Par exemple, si tu n'as que trois rubriques qui sont "truc", "chose"
et "bidule", il suffit de refuser tout ce qui n'est pas l'une de ces
trois là :
switch($_REQUEST['rubrique']) {
case 'truc':
case 'chose':
case 'bidule':
/* C'est parfait, on continue */
break;
default:
die("Désolé, requête mal formée");
}
Avec ça, aucun risque d'injections. Mais nous sommes devenus
parfaitement hors charte ici : va voir du côté du groupe de
discussions fr.comp.lang.php si tu as d'autres questions.
[ citation intégrale ]
Mihamina t'a déjà renvoyé vers la doc expliquant la façon habituelle de
citer. Mais je te suggère en outre d'installer OE QuoteFix pour corriger
certains bugs de ton Outlook Express, en particulier l'alternance de
lignes citées et de lignes « nues ».
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle se déplacer au sein d'une page (que ce soit avec les flèches, la souris, ou en suivant une ancre interne #xxx) ne devrait pas générer une requête différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai- merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Le 06/11/2007 00:27, Le Retour m'a répondu :
Donc...., encore débutant et autodidacte, j'ai recherché un moyen permettant, en cliquant sur un lien, en l'occurence une catégorie, d'exécuter une requête dans une bdd, ie extraire toutes les entrées correspondant à la catégorie cliquée.
D'accord. Tu veux donc faire des requêtes différentes selon la catégorie choisie.
Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça ouvrirait une porte à de possibles injections SQL.
À partir du moment où le paramètre est transmis au serveur, en quoi utiliser un « # » au lieu d'un « ? » pourrait-il changer quoi que ce soit à la possibilité d'injections SQL ?
Je n'ai pas trouvé mieux pour contourner ce risque, mais si on m'explique, je peux être encore preneur...
Ben non, ça ne contournerait rien du tout. En revanche, vérifier soigneusement les données qui te viennent de l'extérieur est en principe nécessaire ET SUFFISANT si tu fais correctement ce contrôle.
Par exemple, si tu n'as que trois rubriques qui sont "truc", "chose" et "bidule", il suffit de refuser tout ce qui n'est pas l'une de ces trois là :
switch($_REQUEST['rubrique']) { case 'truc': case 'chose': case 'bidule': /* C'est parfait, on continue */ break; default: die("Désolé, requête mal formée"); }
Avec ça, aucun risque d'injections. Mais nous sommes devenus parfaitement hors charte ici : va voir du côté du groupe de discussions fr.comp.lang.php si tu as d'autres questions.
[ citation intégrale ]
Mihamina t'a déjà renvoyé vers la doc expliquant la façon habituelle de citer. Mais je te suggère en outre d'installer OE QuoteFix pour corriger certains bugs de ton Outlook Express, en particulier l'alternance de lignes citées et de lignes « nues ».
"Olivier Miakinen" <om+ a écrit dans le message de news:47303eda$
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle
se déplacer au sein d'une page (que ce soit avec les flèches, la souris,
ou en suivant une ancre interne #xxx) ne devrait pas générer une requête
différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai- merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Le 06/11/2007 00:27, Le Retour m'a répondu :
Donc...., encore débutant et autodidacte, j'ai recherché un moyen permettant, en cliquant sur un lien, en l'occurence une catégorie, d'exécuter une requête
dans une bdd, ie extraire toutes les entrées correspondant à la catégorie
cliquée.
D'accord. Tu veux donc faire des requêtes différentes selon la catégorie choisie.
Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça ouvrirait une porte à de possibles injections SQL.
À partir du moment où le paramètre est transmis au serveur, en quoi utiliser un « # » au lieu d'un « ? » pourrait-il changer quoi que ce soit à la possibilité d'injections SQL ?
Je n'ai pas trouvé mieux pour contourner ce risque, mais si on m'explique, je peux être encore preneur...
Ben non, ça ne contournerait rien du tout. En revanche, vérifier soigneusement les données qui te viennent de l'extérieur est en principe nécessaire ET SUFFISANT si tu fais correctement ce contrôle.
Par exemple, si tu n'as que trois rubriques qui sont "truc", "chose" et "bidule", il suffit de refuser tout ce qui n'est pas l'une de ces trois là :
switch($_REQUEST['rubrique']) { case 'truc': case 'chose': case 'bidule': /* C'est parfait, on continue */ break; default: die("Désolé, requête mal formée"); }
Avec ça, aucun risque d'injections. Mais nous sommes devenus parfaitement hors charte ici : va voir du côté du groupe de discussions fr.comp.lang.php si tu as d'autres questions.
C'est effectivement beaucoup mieux comme ça...
Merci!
[ citation intégrale ]
Mihamina t'a déjà renvoyé vers la doc expliquant la façon habituelle de citer. Mais je te suggère en outre d'installer OE QuoteFix pour corriger certains bugs de ton Outlook Express, en particulier l'alternance de lignes citées et de lignes « nues ».
"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de
news:47303eda$1@neottia.net...
Ce faisant, tu vas à l'encontre de la logique habituelle selon
laquelle
se déplacer au sein d'une page (que ce soit avec les flèches, la
souris,
ou en suivant une ancre interne #xxx) ne devrait pas générer une
requête
différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai-
merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Le 06/11/2007 00:27, Le Retour m'a répondu :
Donc....,
encore débutant et autodidacte, j'ai recherché un moyen permettant, en
cliquant sur un lien, en l'occurence une catégorie, d'exécuter une
requête
dans une bdd, ie extraire toutes les entrées correspondant à la
catégorie
cliquée.
D'accord. Tu veux donc faire des requêtes différentes selon la catégorie
choisie.
Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça
ouvrirait une porte à de possibles injections SQL.
À partir du moment où le paramètre est transmis au serveur, en quoi
utiliser un « # » au lieu d'un « ? » pourrait-il changer quoi que ce
soit à la possibilité d'injections SQL ?
Je n'ai pas trouvé mieux pour contourner ce risque, mais si on
m'explique, je peux être encore preneur...
Ben non, ça ne contournerait rien du tout. En revanche, vérifier
soigneusement les données qui te viennent de l'extérieur est en
principe nécessaire ET SUFFISANT si tu fais correctement ce contrôle.
Par exemple, si tu n'as que trois rubriques qui sont "truc", "chose"
et "bidule", il suffit de refuser tout ce qui n'est pas l'une de ces
trois là :
switch($_REQUEST['rubrique']) {
case 'truc':
case 'chose':
case 'bidule':
/* C'est parfait, on continue */
break;
default:
die("Désolé, requête mal formée");
}
Avec ça, aucun risque d'injections. Mais nous sommes devenus
parfaitement hors charte ici : va voir du côté du groupe de
discussions fr.comp.lang.php si tu as d'autres questions.
C'est effectivement beaucoup mieux comme ça...
Merci!
[ citation intégrale ]
Mihamina t'a déjà renvoyé vers la doc expliquant la façon habituelle de
citer. Mais je te suggère en outre d'installer OE QuoteFix pour corriger
certains bugs de ton Outlook Express, en particulier l'alternance de
lignes citées et de lignes « nues ».
"Olivier Miakinen" <om+ a écrit dans le message de news:47303eda$
Ce faisant, tu vas à l'encontre de la logique habituelle selon laquelle
se déplacer au sein d'une page (que ce soit avec les flèches, la souris,
ou en suivant une ancre interne #xxx) ne devrait pas générer une requête
différente vers le serveur.
C'est ton site et tu y fais ce que tu veux, mais par curiosité j'ai- merais bien savoir pourquoi tu as ressenti le besoin de faire ça.
Le 06/11/2007 00:27, Le Retour m'a répondu :
Donc...., encore débutant et autodidacte, j'ai recherché un moyen permettant, en cliquant sur un lien, en l'occurence une catégorie, d'exécuter une requête
dans une bdd, ie extraire toutes les entrées correspondant à la catégorie
cliquée.
D'accord. Tu veux donc faire des requêtes différentes selon la catégorie choisie.
Il m'a semblé, si j'aboutais ma variable à l'URL par un ?, que ça ouvrirait une porte à de possibles injections SQL.
À partir du moment où le paramètre est transmis au serveur, en quoi utiliser un « # » au lieu d'un « ? » pourrait-il changer quoi que ce soit à la possibilité d'injections SQL ?
Je n'ai pas trouvé mieux pour contourner ce risque, mais si on m'explique, je peux être encore preneur...
Ben non, ça ne contournerait rien du tout. En revanche, vérifier soigneusement les données qui te viennent de l'extérieur est en principe nécessaire ET SUFFISANT si tu fais correctement ce contrôle.
Par exemple, si tu n'as que trois rubriques qui sont "truc", "chose" et "bidule", il suffit de refuser tout ce qui n'est pas l'une de ces trois là :
switch($_REQUEST['rubrique']) { case 'truc': case 'chose': case 'bidule': /* C'est parfait, on continue */ break; default: die("Désolé, requête mal formée"); }
Avec ça, aucun risque d'injections. Mais nous sommes devenus parfaitement hors charte ici : va voir du côté du groupe de discussions fr.comp.lang.php si tu as d'autres questions.
C'est effectivement beaucoup mieux comme ça...
Merci!
[ citation intégrale ]
Mihamina t'a déjà renvoyé vers la doc expliquant la façon habituelle de citer. Mais je te suggère en outre d'installer OE QuoteFix pour corriger certains bugs de ton Outlook Express, en particulier l'alternance de lignes citées et de lignes « nues ».
C'est effectivement beaucoup mieux comme ça... Merci!
De rien, mais à ton tour merci de faire l'effort de répondre de façon plus concise(¹) et plus lisible(²) : (¹) http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html (²) http://www.aminautes.org/forums/configurer/oe/QF_doc.html
[ citation intégrale(¹) mal formatée(²) ]
C'est effectivement beaucoup mieux comme ça...
Merci!
De rien, mais à ton tour merci de faire l'effort de répondre de façon
plus concise(¹) et plus lisible(²) :
(¹) http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
(²) http://www.aminautes.org/forums/configurer/oe/QF_doc.html
C'est effectivement beaucoup mieux comme ça... Merci!
De rien, mais à ton tour merci de faire l'effort de répondre de façon plus concise(¹) et plus lisible(²) : (¹) http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html (²) http://www.aminautes.org/forums/configurer/oe/QF_doc.html