2012-07-14 107 views
0

目前我拥有它,当用户回复线程时;我使用$id = $_GET['id']并将该变量传递给回复表单中隐藏的只读输入。防止用户篡改html

我使用的另一种方法是数据属性,我用jQuery检索,然后用ajax提交表单。数据属性可以在萤火虫中更改。

什么是防止篡改HTML隐藏字段/数据属性的好方法?

我想过使用会话..例如,如果用户有多个窗口打开:page1.php?id = 1,page2.php?id = 2,page3.php?id = 3。我将如何存储和检索会话?我无法打开多个窗口,因此无法确定会话名称。

+0

当用户回复therd时,您使用$ id = $ theread_id; – elo 2012-07-14 22:41:09

+1

你不能阻止请求操纵,你应该改为验证服务器端,并确保$ _GET ['id']持有的内容在允许的范围内。例如,如果您需要在请求之间保存值,请参阅会话。 – Mahn 2012-07-14 22:50:38

回答

1

很明显,你不能阻止用户改变HTML客户端(你可以让它变得困难,但并非不可能)。如果您担心回复线程的人没有回复权限,则应该处理该服务器端(在发布前请检查权限)。这样用户可以更改他们想要的ID,但他们仍然只能回复他们被允许回复的线索。

另一个选择可能是在查询字符串中使用加密的ID,但在这种情况下,我仍然会检查服务器端的权限。