我有使用 GET 方法的 html 表单,但我想发送不那么明显的信息。例如放置简单的base64编码。我需要唯一的 URL,因此每次需要相同的信息时,我们都需要具有相同且不那么明显的 URL。
示例:
www.mywebsite.com/index.php?myname=johnDoe
但我不需要那么明显:
www.mywebsite.com/index.php?bXluYW1lJTNEam9obkRvZQ==
这是简单的 Base64 加密。
最佳答案
GET 和 POST 数据作为关联数组存储在超全局变量 $_GET
和 $_POST
中。您真正需要做的就是使用 base64_encode()
和 base64_decode()
方法。唯一的问题是您不能在数组上调用这些方法,但可以在字符串上调用它。这就是 json_encode()
和 json_decode()
发挥作用的地方。
$array = array('one' => 1, 'two' => 2); // substitute $_GET or $_POST here
$json = json_encode($array);
$string = base64_encode($json);
echo $string; // this is the base64-encoded string
$json = base64_decode($string);
$array = json_decode($json);
print_r($array); // this is an associative array
您可以将表单 GET 或 POST 发送到转换器页面,该页面将 POST 或 GET 数组转换为 Base64 编码的字符串,然后使用 header()
重定向到需要特殊格式的页面。网址。
然后,接收页面可以反转该过程以获取表单的输入。
关于javascript - 我可以直接以具有 GET 方法的表单发送编码信息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23553421/