Redirections en GET en cachant les paramètres.

WRInaute accro
Bonjour
J'ai actuellement programmé mon site pour que tous les paramètres soient transmis par redirection GET. J'ai besoin de celà pour des redirections dynamiques en fin de script, quand la limite de temps de 30 secondes est proche.

Avant, j'utilisais les deux instructions suivantes:

header("pragma: no-cache");
header("Location: $url_with_parameters");

La première instruction empêche que le cache soit utilisé à la place des valeurs actuelles des paramètres.

Maintenant, je voudrais cacher au navigateur les paramètres transmis dans l'url, pour plus de sécurité. J'ai vu dans un site, qu'il était possible d'utiliser ces trois instructions, qui apparement ne gèrent pas le cache:

header("Request-URI: $url");
header("Content-Location: $url");
header("Location: $url");

Voici mes questions:

- Quelles sont, parmi ces trois variables $url, celles qui doivent inclure les paramètres GET, et celles qui ne doivent pas les inclure ?

- Comment empêcher que les valeurs des paramètres dans le cache, soit utilisées, à la place des valeurs actuelles ?

- A part les redirections par .htaccess , que je ne maîtrise pas, peut-on cacher ses paramètres GET par une autre méthode ?

- Ces trois instructions sont-elles valables, et permettront-elles à la fois de transmettre les paramètres, et de les cacher dans le navigateur ?

Merci beaucoup de vos réponses.

Jean Francois Ortolo
 
WRInaute passionné
Il y a une methode en PHP avec curl() qui permet de "simuler" une requete GET à une page, donc les variables ainsi que leur valeur devient inconnue.


Code:
<?php
$var1 = $_GET["var1"];
$var2 = $_GET["var2"];
$url = "http:// ........ /page2.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,  $url);
curl_setopt($ch, CURLOPT_GET, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "var1=$var1&var2=$var2");
curl_exec($ch);
curl_close($ch);
?>

Difficile à utiliser et pas facile de trouver des docs :?
 
WRInaute accro
rottman a dit:
Il y a une methode en PHP avec curl() qui permet de "simuler" une requete GET à une page, donc les variables ainsi que leur valeur devient inconnue.


Code:
<?php
$var1 = $_GET["var1"];
$var2 = $_GET["var2"];
$url = "http:// ........ /page2.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,  $url);
curl_setopt($ch, CURLOPT_GET, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "var1=$var1&var2=$var2");
curl_exec($ch);
curl_close($ch);
?>

Difficile à utiliser et pas facile de trouver des docs :?


Bonjour Monsieur

Je connais bien la librairie cURL, et sais comment la programmer.

Je suis familiarisé avec le code que vous avez indiqué, mais j'ai seulement une question:

Cet appel de la page $url avec les paramètres GET, va-t-elle faire en sorte, que la page à partir de laquelle se fait cette direction, sera remplacée par la page ( le script ) appelé ?

En ce qui concerne la doc pour la librairie cURL, le PHP Manual et ses commentaires donnent de précieuses indications, avec des liens et des exemples de programmation cURL.

Merci beaucoup de votre réponse.

Jean Francois Ortolo
 
WRInaute passionné
ortolojf a dit:
Cet appel de la page $url avec les paramètres GET, va-t-elle faire en sorte, que la page à partir de laquelle se fait cette direction, sera remplacée par la page ( le script ) appelé ?

Désolé mais j'en sais vraiment rien, tu pourrais tester vu que tu es familiarisé avec cURL :)

Tiens nous au courant.
 
WRInaute accro
Bonjour Monsieur

Merci beaucoup pour votre avis.

J'avais effectivement envisagé l'utilisation de cURL, pour en avoir entendu parler, à propos des redirections dynamiques comme ça, mais je vais encore chercher.

Je vais voir ce que ça donne en local.

Bien à vous.

Jean Francois Ortolo
 
WRInaute accro
rottman a dit:
Il y a une methode en PHP avec curl() qui permet de "simuler" une requete GET à une page, donc les variables ainsi que leur valeur devient inconnue.


Code:
<?php
$var1 = $_GET["var1"];
$var2 = $_GET["var2"];
$url = "http:// ........ /page2.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,  $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, "var1=$var1&var2=$var2");
curl_exec($ch);
curl_close($ch);
?>

Difficile à utiliser et pas facile de trouver des docs :?

Bonjour Monsieur

Voici le bon code ( voir ci-dessus ), qui assure une redirection dynamique en GET.

La constante CURLOPT_GET n'existe pas, il suffit de donner ( je crois que c'est le cas par défaut, à moins qu'il n'y ait eu précédemment une commande POST avec le même $ch ), la valeur 0 à CURLOPT_POST.

Dans ce cas, il faut faire tout un tintouin pour restaurer le mode GET, avec la constante CURLOPT_NOBODY ou CURLOPT_HTTPGET, mais bon, je donne dans la simplicité... :)

De plus, pour qu'il y ait redirection effective, il faut positionner à 1 la constante CURLOPT_FOLLOWLOCATION.

En tout cas, j'ai essayé sans transmettre de paramètres avec CURLOPT_POSTFIELDS , car finalement j'ai changé d'avis: Je laisse mon site tel quel, mais j'ai réussi à utiliser cette redirection, dans un script où j'avais déjà avant utilisé la librairie CURL, et où donc la fonction header ne fonctionnait pas.

Merci beaucoup de votre code, vous me tirez une belle épine du pied. ;)

Jean Francois Ortolo
 
WRInaute accro
e-kiwi a dit:
question : tu compte referencer le site ?

Bonjour e-kiwi

Mon site a été mis en ligne en Février 2002.
Il me semble qu'il est référencé, car avant le "Bourbon", mon PR était égal à 4, maintenant il est = 3... :(

Il est vrai qu'à plusieurs reprises, on m'a proposé de faire des échanges de liens, et que j'ai refusé. Je pense que mettre des liens sur une page qui ne sera jamais visitée par les visiteurs, ne sert à rien pour les sites liés, d'autre qu'augmenter le PR... Par contre, de nombreux annuaires m'ont inscrit spontanément, et quelques sites aussi.

Je pense surtout que transformer mon site en annuaire de liens, serait une façon peu correcte, de le dénigrer.

Je compte surtout sur le bouche à oreille et la qualité de mon site, pour assurer le traffic. Actuellement, j'en suis entre 100 et 200 visiteurs uniques/jour.

Ce problème de traffic ne me gêne pas beaucoup, mon site étant gratuit, mais il se peut qu'il devienne payant à terme ( je ne dis pas quand ), mais il faudrait que des conditions très précises ( et difficiles à obtenir ), soient réunies.

Quant au référencement de mon site, c'est sûr que grâce au site de WRI, je suis capable de le faire, mais pour l'instant, ce n'est pas ma préoccupation immédiate.

Amicalement.

Jean Francois Ortolo
 
WRInaute accro
ouh la pas besoin d une réponse si longue :) je voulais juste dire que si tu compte cacher/enlever tes variables de tes URL, tu sera tres vite bloqué en terme de référencement (logique). donc meme si tu compte pas le referencer desuite, penses y des maintenant.

>> on m'a proposé de faire des échanges de liens, et que j'ai refusé
avis perso qui n'engage que moi, un echange de lien A->B / B->A n'a pas de réelle utilité. le seul truc que ca m'a apporté, c est une sandbox (j avais fait un test assez brutal) mais rien d interressant par rapport à un lien sns retour
 
WRInaute accro
Bonjour e-kiwi

En fait, c'est la honte... c'est mon site qui fait ça.

J'ai seulement trois pages de référencées, la page d'accueil, plus deux pages ayant un lien sans paramètre sur la page d'accueil.

Je n'ai pas d'url-rewriting, et ces deux pages comportent un formulaire, que Google ne passe pas. Le reste dépend des paramètres, et est inintéressant, voire même inaccessible, quand la valeur des paramètres change.

Ce problème de paramètres, ce n'est pas un problème de référencement, c'est un problème de sécurité... Je n'en dirai pas plus.

Si j'avais à supprimer tous les paramètres de mon site, *et* faire en sorte que la sécurité soit optimale, j'aurai un gros tintouin à faire, pour un résultat relativement peu intéressant. J'ai préféré rendre l'affichage des pages copiables, relativement peu rapide, comme celà pas de copiage.

Amicalement.

Jean Francois Ortolo
 
WRInaute accro
>> Ce problème de paramètres, ce n'est pas un problème de
>> référencement, c'est un problème de sécurité... Je n'en dirai
>> pas plus.

dis plutot un probleme de conception alors :) 99,9% des sites ont leur parametre qui passe dans l'URL sans pour autant avoir de faille de sécurité :) creuse plutot ça pour laisser les parametres dans l url, et utiliser l URL rewriting pour permettre à google de scanner tout le site
 
WRInaute discret
Bonjour à tous !

J'utilise moi aussi curl mais celui ne fonctionne pas quand l'url cible contient des variable et sans elle le formulaire distant ne fonctione pas...

Quelqu'un a une idée ?

Merci
 
Discussions similaires
Haut