0

如何向用户隐藏 ?ref 字符串,但将其传递给 php 代码以便它能够抓取它?

例如,访问者访问此页面:

http://mysite.com/?ref=ref+string

在浏览器 URL 中我想隐藏它,所以用户会看到”

http://mysite.com/

但我想通过这个来获取 ref 字符串的内容:

$ref = $_GET['ref'];

可能吗?

4

3 回答 3

3

不,如果您想使用 GET 变量,它们将始终位于 url 中。

但是,您可以使用其他变量,例如 $_SESSION 或 $_POST 变量。

于 2012-05-15T13:19:13.230 回答
2

您可以在 PHP 脚本的顶部尝试这样的操作:

session_start();

if (isset($_GET['ref'])) {
    $_SESSION['ref'] = $_GET['ref'];
    header('Location: /');
    exit();
}

$_SESSION['ref']但是,从那时起,您将不得不使用来访问该值。

于 2012-05-15T13:27:24.187 回答
0

这不是http 协议处理查询字符串的方式。如果您有需要在查询字符串中包含的信息,您想对用户隐藏或混淆,我建议您使用简单的加密来更改它。如果您出于审美原因试图摆脱这些信息,则需要采用不同的方法来生成标头或存储信息(会话/cookies/等)。

于 2012-05-15T13:22:55.187 回答