在header()中发送POST参数?

时间:2011-10-01 17:49:53

标签: php forms session login header

我正在创建一个注册页面,signup.php,基本上我想要它做的是检查错误,如果没有,重定向到register.php。这很好,但是,register.php是实际帐户的页面(例如mySQL查询)。当然,为了做到这一点,我实际上需要从signup.php收集的params。我想知道我是否可以做这样的事情。

    header("Location: register.php, TYPE: POST, PARAMS: {user,pass,email}")

显然我不能使用$ _GET,因为我正在传输敏感数据(例如密码)。

有任何想法/建议吗?

编辑:谢谢大家的回答。我现在将参数存储在$ _SESSION变量中。

4 个答案:

答案 0 :(得分:2)

我认为这种重定向毫无意义。

为什么不马上发帖到register.php?
然后检查错误并将数据保存在同一个register.php中的数据库中? 没有任何重定向

答案 1 :(得分:0)

即使这是可能的,你也会遇到另一个问题 - 在流行的浏览器中实现重定向。虽然标准要求,它询问用户是否重定向帖子,但所有流行的浏览器只是将重定向解释为GET。简而言之:你无法以这种方式重定向POST,你必须找到另一种方式而不需要往返客户端,或者使用GET。

此外,您应该知道,除非您的请求是通过https完成的,否则GET和POST都会将敏感信息提供给任何侦听器,因为POST只是将查询字符串放入http请求而不是URL。安全方面,两者都是一样的。

答案 2 :(得分:0)

您可以将它们存储在$ _SESSION中,并参考register.php页面中的那些,进行一些检查以确保某人实际填写了信息并且不仅仅导航到它。

答案 3 :(得分:0)

不,你不能,而且这些数据对于任何坚定的攻击者都是不安全的。

将数据存储在会话变量中,以便在下一页中使用。