0

我正在尝试找出最佳实践以及最安全的方法,以便为我正在开发的 Web 应用程序使用 javascript 存储变量。

我有使用 php、$_GET 和 mod_rewrite 生成的页面。它们是从通过 url 给出的 id 生成的。例如:http ://example.com/1125/ (因为 mod_rewrite 实际发生的是:http ://example.com?id=1125 )。php 采用 $_GET['id'] 并根据给定的 id 等从数据库中检索信息......你明白了要点。

我遇到的问题是,我在该页面上有一个表单,用户可以在其中发布问题,该问题是通过 ajax 发送的。而且我不知道存储页面 id ($_GET['id']) 的最佳方式。

现在,我将 id 存储在表单中的隐藏输入中(例如:“ />”)。当表单提交到服务器并且 php 查看 $_POST 时,它包含 ["id"] = > 1125. 当通过页面中的表单提交问题时,这就是我发送页面 id 的方式。

我认为这不安全的原因是,任何人都可以编辑 html(例如通过 Chrome 的检查元素)并将隐藏输入的 (id) 值更改为任何其他 id。

所以我的问题是,我可以用 javascript 存储该 id 的最安全方法是什么,所以当提交该问题表单时,它可以安全地将正确​​的 id 发送到服务器?或者通过最佳实践方法提出的任何其他建议?

4

1 回答 1

0

您只需要id在接收ajax的php页面中验证,如果id有效并且用户有权使用它,那么没关系,他是否通过chrome或其他方式更改它并不重要,但你需要进行验证,因为如果他为id属于其他用户的用户更改了它,那么您必须检测到它并在这种情况下出错。

这只是根据应用程序中的权限验证您的输入的问题。

于 2012-09-12T18:09:23.190 回答