PHP en-Tête de l'Emplacement avec le paramètre
Est-il possible d'ajouter un paramètre à une PHP Header Emplacement? J'ai de la difficulté à la faire fonctionner. Est-ce la syntaxe effectivement permis?
$qry = $_SERVER['QUERY_STRING'];
header('Location: http://localhost/blast/v2/?$qry ') ;
il ne peut pas remplacer $req l'esprit de sa valeur réelle....pourquoi??
dans le navigateur, il finit par ressembler à ceci:
http://localhost/blast/v2/?$req
grâce
- C'est fondamental choses, à lire ici: php.net/manual/en/language.types.string.php
Vous devez vous connecter pour publier un commentaire.
Changer les guillemets simples guillemets doubles:
Une seule chaîne de caractères entre guillemets dans le PHP est traité comme un littéral de chaîne, ce qui n'est pas analysé pour les variables. Chaînes entre guillemets doubles sont analysées pour les variables, de sorte que vous obtiendrez tout ce que
$qry
contient en annexe, au lieu de littéralement$qry
.header("Location:http://example.com/file.php?id=$ID");
mais l'en-tête() ajoute un/
à la fin de$ID
et en faire un répertoire. Qu'est-ce riderects àhttp://example.com/file.php?id=5/
(Notez le / à la fin) Veuillez donner une solutionVous pouvez également ajouter plusieurs paramètres via un en-tête comme:
qui ajoute les deux autres paramètres de l'identifiant d'origine
Ceux-ci peuvent être extraits à l'aide de la
$get
méthode à destinationJe sais que c'est un très vieux post, mais s'il vous plaît, ne faites pas cela. Paramètres dans l'en-tête sont XSS vulnérables. Vous pouvez en lire plus à propos de XSS avec ici: owasp.org/index.php/Cross-site_Scripting_(XSS)
ruses Comment Réparer l'attaque XSS sur l'en-tête de localisation