小编典典

阻止用户伪造表单的安全方法

ajax

如何防止用户在PHP或jquery方面伪造表单,我正在使用Jquery的ajax功能提交表单,这意味着技术方面的人们可以更改某些变量,例如某物的值(不应通过使用Firebug或Web检查器等来更改/是用户ID或类似名称。

那么,如何防止用户更改这些变量或通过安全且好的方法确保它们不变?

谢谢


阅读 315

收藏
2020-07-26

共1个答案

小编典典

正如其他人已经指出的那样,您 不能 阻止用户进行篡改。

您正在从我那里接收数据,我可以向您发送任何我想发送的信息,我什至可以手动执行HTTP请求,甚至不需要使用浏览器,您就无法执行任何操作。

如果您不希望用户更改信息,请不要将其提供给他。

您可以将其存储在PHP的会话中,该会话存储在服务器端(不要使用cookie,它们也将发送给用户)或保存在数据库中,最终用户都无法访问它们。

如果您仍想将数据传递给用户,请计算某种哈希值( 安全 哈希,请使用Gumbo
指出安全 哈希算法和 安全
消息摘要),这会排除CRC32或MD5之类的算法以及您姓名或MAC之类的MAC数据)并将其存储在服务器端,然后在用户提交数据后,检查哈希值是否匹配。

但是请知道此解决方案不是100%安全的。哈希函数有冲突,并且存在错误的实现。

我建议坚持黄金法则:如果不存在,它就不会破坏/被篡改/被盗等。

2020-07-26