PHP - 重定向到另一个页面

时间:2011-11-26 10:22:43

标签: php redirect

header("Location:post.php?id=120");

这是我现在用来在两个页面之间传递值的方法。 这不是一种安全的方式。 而不是我想在重定向时使用“post”方法发送值。 在PHP中有“post”的等效方法吗? 我正在寻找其他方法(因为不安全)

7 个答案:

答案 0 :(得分:2)

在页面之间传递id没什么不安全感。这实际上很常见,甚至在这里完成。

如果您非常担心用户会看到ID,为什么不将您的ID保存在会话变量中?这样它就更隐蔽了。

答案 1 :(得分:0)

要发送POST,也许最简单的方法是使用您想要的隐藏输入字段制作表单:<input type="hidden" name="id" value="120" />并将表单发布到post.php。当然,除非你做一些验证,转义等,否则这不比以前的方法更安全......

答案 2 :(得分:0)

标准“POST”请求不比“GET”请求更安全。它只是隐藏参数/数据给用户,给你安全的印象。您仍然需要在逻辑中检查Id的有效性(ID是否有效?是被授予访问此数据的用户吗?)。

可能你可以尝试:

  • 创建具有唯一ID(GUID?)
  • 的令牌
  • 在服务器会话中输入“id”,标记为标识符
  • 使用header("Location:post.php?id=".$myToken);
  • 重定向用户
  • 在“post.php”中,从服务器会话加载数据并销毁条目以清理内存

用户仍然可以看到数据(令牌),但只要加载页面,此令牌就会失效。

答案 3 :(得分:0)

可能正在寻找sessions “可能”因为您的问题中没有任何内容可以为您提供更相关的答案。

但是,您不应该使用会话来传递像id这样的变量,这显然可以识别目标页面。

答案 4 :(得分:0)

使用JS在AJAX中发送帖子请求。我很确定那就是你需要的......

答案 5 :(得分:-2)

您可以在会话中存储变量,然后进行重定向(这是安全的方式)

或进行HTML重定向

<form method="post" action="post.php" name="redirection">
   <input type="hidden" name="id" value="120"/>
</form>
<script type="text/javascript">
$(document).ready(function(){document.forms.redirection.submit();});
</script>

答案 6 :(得分:-3)

也许通过cURL然后重定向。 http://php.net/manual/en/book.curl.php