如何向用户隐藏 ?ref 字符串,但将其传递给 php 代码以便它能够抓取它?
例如,访问者访问此页面:
http://mysite.com/?ref=ref+string
在浏览器 URL 中我想隐藏它,所以用户会看到”
http://mysite.com/
但我想通过这个来获取 ref 字符串的内容:
$ref = $_GET['ref'];
可能吗?
不,如果您想使用 GET 变量,它们将始终位于 url 中。
但是,您可以使用其他变量,例如 $_SESSION 或 $_POST 变量。
您可以在 PHP 脚本的顶部尝试这样的操作:
session_start();
if (isset($_GET['ref'])) {
$_SESSION['ref'] = $_GET['ref'];
header('Location: /');
exit();
}
$_SESSION['ref']
但是,从那时起,您将不得不使用来访问该值。
这不是http 协议处理查询字符串的方式。如果您有需要在查询字符串中包含的信息,您想对用户隐藏或混淆,我建议您使用简单的加密来更改它。如果您出于审美原因试图摆脱这些信息,则需要采用不同的方法来生成标头或存储信息(会话/cookies/等)。