index.phpにコードがある場合
if ($_GET['x']==="\x01\x03\x03\x07")
{
echo 'OK';
}
では、どのように値 x を URL index.php?x= ???に渡すことができますか? 出力「OK」を取得します。ありがとう!
index.phpにコードがある場合
if ($_GET['x']==="\x01\x03\x03\x07")
{
echo 'OK';
}
では、どのように値 x を URL index.php?x= ???に渡すことができますか? 出力「OK」を取得します。ありがとう!
したがって、URL は次のようにする必要があります。
... index.php?x=\x01\x03\x03\x07
$_GET は次のようにする必要があります。
$_GET['x'] = "\\x01\\x03\\x03\\x07";
「OK」が返ってきます
「\x01\x03\x03\x07」(16 進値) を URL で送信した変数 x と比較するには、まず に変更'\x01\x03\x03\x07'
する必要があります'\\x01\\x03\\x03\\x07'
。なんで ?「\」を 2 倍にしないと比較できないからです。
したがって、次のように 16 進数を変数に配置する必要があります。
$hex = "\x01\x03\x03\x07";
'x' を編集済みの $hex (値は " \\x01\\x03\\x03\\x07
") と比較します。$hex を編集/修正するには、関数 str_ireplace() を使用する必要があります。
例は次のとおりです。
$hex = "\x01\x03\x03\x07";
$hex_able_to_compare = "\\x01\\x03\\x03\\x07";
$fixed = str_ireplace($hex,$hex_able_to_compare,$hex);
if ($_GET['x'] == $fixed){
echo "OK!";
}
else {
echo "Not OK!";
}
$hex
したがって、16 進を変数に配置して 16 進を比較することもできます。
しかし、問題は次のとおりです。16 進値が動的な場合はどうなるでしょうか。asの値$hex_able_to_compare
も動的にする必要があります。:D