私は、次のURLを持っている:私はEnterキーを押し前http://some_URL/file/?var1=../dir/page.php&var2=value2
URLの変数は、最初のページが別のページにリダイレクトされたときに適用されますか?
はのは、VAR1は、別のページ(ここではpage.php
)にリダイレクトするために使用されていることを言おうが、VAR2の値は、(現在のページに適用されますん)、またはpage.php
に適用されますか?
私は、次のURLを持っている:私はEnterキーを押し前http://some_URL/file/?var1=../dir/page.php&var2=value2
URLの変数は、最初のページが別のページにリダイレクトされたときに適用されますか?
はのは、VAR1は、別のページ(ここではpage.php
)にリダイレクトするために使用されていることを言おうが、VAR2の値は、(現在のページに適用されますん)、またはpage.php
に適用されますか?
私はあなたの質問を正しく理解していれば、クエリ文字列のパラメータが自動的に最初のスクリプトから最初のスクリプトがリダイレクトするスクリプトに渡されるかどうかを尋ねてきます。
答えは、自動的にではなく、いいえです。
クエリ文字列は最初のスクリプトに渡され、そのスクリプトは両方のパラメータを$ _GET配列に受け取ります。
まずスクリプト今、あなたはvar1
パラメータで特定されたスクリプトにリダイレクトし、この
header("Location: $var1?var2=$var2");
のように、リダイレクト呼び出しに追加する必要があり、そのスクリプトに上
var2
を渡したい場合は
<?php
$var1 = $_GET['var1'];
$var2 = $_GET['var2'];
var1
が../dir/page.php
とvar2
であれば、これは
value2
です0
header("Location: ../dir/page.php?var2=value2");
また、あなたはパラメータを作ることができることで、フォームの最初のスクリプトは、それ自体であれば目に見えるページには、その危険な隠し入力もちろん
<?php
$var1 = $_GET['var1'];
$var2 = $_GET['var2'];
?>
<form action="<?php echo $var1;?> ........>
<input type="hidden" name="var2" value="<?php echo $var2;?>">
を使用して、次のスクリプトに渡します検証されていないクエリ文字列パラメータを使用しているため、何かで使用する前に
$_GET
配列内のものを正当性検査する必要があります。
&
の文字は、key = valueの組を区切ります。最初の&
の後のすべては、var=1
の値の一部ではありません。
percent encodingを使用すると、URLに特殊文字をデータとして含めることができます。
私はあなたの答えを理解していません。私は井戸コード付きウェブサイト(これは私のウェブサイトではない)にこのURLがあるかどうかを尋ねるだけです、var2は現在のページ(私がENTERを押す前)の変数かpage.phpの変数ですか? – adrTuIPKJ44
したがって、var2
が現在のページで利用可能になります。 page.phpで利用できるようにするには、var2
変数を取得し、リダイレクトする前に新しいURLに追加してください。
このURL構造は意味をなさないものです。 – Twinfriends
多分これは助けるかもしれませんか? https://perishablepress.com/how-to-write-valid-url-query-string-parameters/ – JustBaron
@Twinfriends - これは完全に有効なURLです。 – Quentin