隐藏 url 中的获取变量

Hiding get variables in url?

本文关键字:获取 变量 url 隐藏      更新时间:2023-09-26

我想隐藏url中的获取变量

我想要这个

"dem/?p=user"

而不是我通过的任何东西

dem/?p=user&act=stored
dem/?p=user&act=changed
dem/?p=user&act=deleted

伙伴们请帮帮我。提前感谢。

如果要隐藏GET变量或值,则不应使用GET。在GET方法中,数据将始终作为URL的一部分发送。如果要对用户"隐藏"数据(或不在URL中显示数据),则应使用POST方法。

您可以使用以下任何一种:

  • 使用 POST 方法代替 GET
  • 使用 Ajax,带有 POST 或 GET 方法
  • 如果您真的希望发送安全的方式,请使用加密和解密,即 dem/?p=ENCRYPTED_STRING。在这里ENCRYPTED_STRING将拥有所有GET数据
显然,

由于您没有花时间告诉我们您的页面结构如何以及如何存储您的值,我只能猜测。

服务器端

如果将数据存储在重定向后页面上,则可以将其存储在$_SESSION

session_start();
if (isset($_SESSION['message']))
{
    $_SESSION['message'] = "succes";
}

然后在您的确认页面上

session_start();
echo $_SESSION['message'];

客户端

您可以创建隐藏的输入并将其添加到表单中,将表单设置为在表单操作页面上发布和处理这些$_POST值。

var x = document.createElement("INPUT");
x.setAttribute("type", "hidden");
x.setAttribute("name", "message");
form.appendChild(x);

然后在您的确认页面上

if (isset($_POST['message']))
{
    echo $_POST['message'];
}

修改.htaccess文件,使短URL看起来像你想要

的样子