【发布时间】:2015-12-07 17:20:47
【问题描述】:
我正在使用需要与我自己的应用集成的第 3 方应用。在第 3 方应用程序中,信息通过表单发布,然后重新定向到我的网站以进行进一步处理。重定向到我的站点将包含我需要从重定向 URL 中的表单获取的变量。但是,我不希望发布表单的用户能够查看这些变量。
如果重定向链接隐藏在第 3 方应用程序中(即不在表单中),那么我认为可行的一种方法是将第 3 方应用程序定向到执行以下操作的“预处理”脚本:
session_start();
$_SESSION['some_variable_to_save'] = $_GET['some_variable_to_save']; //properly sanitized!!
header('Location: where_i_really_want_to_process.php');
exit;
然后,在 where_i_really_want_to_process.php 中,我可以处理会话变量。这是确保用户永远不会看到 $_GET 变量的安全方法吗?
【问题讨论】:
-
如果你想在没有用户查看的情况下将变量传递到另一个页面,你应该使用
POST,而不是GET(尽管这仍然不是万无一失的)。如果他们杀死脚本或他们的互联网在页面之间中断,他们就会看到数据。 -
不幸的是,我无法控制这一点,因为第 3 部分应用程序使用 _GET 变量向我发送 URL。
-
您可以改用
cURL并在脚本中执行它,这样就没有重定向了吗? -
尝试 ajax 使用 get 传递数据
-
我无法控制如何将数据发送到我的应用程序;这是购买后的“网络钩子”。我不太确定在这种情况下如何使用 ajax。