header("Location:post.php?id=120");
这是我现在用来在两个页面之间传递值的方法。 这不是一种安全的方式。 而不是我想在重定向时使用“post”方法发送值。 在PHP中有“post”的等效方法吗? 我正在寻找其他方法(因为不安全)
答案 0 :(得分:2)
在页面之间传递id没什么不安全感。这实际上很常见,甚至在这里完成。
如果您非常担心用户会看到ID,为什么不将您的ID保存在会话变量中?这样它就更隐蔽了。
答案 1 :(得分:0)
要发送POST,也许最简单的方法是使用您想要的隐藏输入字段制作表单:<input type="hidden" name="id" value="120" />
并将表单发布到post.php
。当然,除非你做一些验证,转义等,否则这不比以前的方法更安全......
答案 2 :(得分:0)
标准“POST”请求不比“GET”请求更安全。它只是隐藏参数/数据给用户,给你安全的印象。您仍然需要在逻辑中检查Id的有效性(ID是否有效?是被授予访问此数据的用户吗?)。
可能你可以尝试:
header("Location:post.php?id=".$myToken);
用户仍然可以看到数据(令牌),但只要加载页面,此令牌就会失效。
答案 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