我正在使用intraweb,它为我提供了3个传递参数的选项。
?
参数
就我的代码而言,我选择哪个选项并不重要,该框架将我从中抽象出来。
但是,哪一个更安全,防止用户篡改?
答案 0 :(得分:4)
在URL参数中传递数据的风险超出了URL的长度限制,并且可能会干扰(或成为功能!)书签。作为cookie传递风险的用户已关闭cookie(或客户端不支持cookie)。作为隐藏字段传递是最便携的。
这些方法本身都没有提供任何级别的安全性。
编辑:lance指出的优秀文章中的一个建议是将敏感数据存储在服务器上,并仅将cookie传输到客户端。这是术语 cookie 的不同用法,应该更恰当地称为会话ID ,它可以使用三者中的任何一个在服务器和客户端之间来回传输你正在考虑的方法。
答案 1 :(得分:1)
使用免费提供的工具可以很容易地复制/修改它们,所以我会说最适合你的应用程序 - 它们在安全性方面是相同的,它们都不应该被信任。
考虑使用服务器端发出的加密哈希来防止篡改你选择的任何选项。
答案 2 :(得分:0)
从安全的角度来看,所有这些都应该在服务器上处理相同。仅仅因为变量通过鸽子转移而不是GET传递,这并不意味着它是安全的。它仍然来自邪恶的用户。
因此,请确保为所有这些使用完全相同的安全机制。
答案 3 :(得分:0)
它们都不安全(虽然不清楚你究竟意味着什么样的安全性。)
当然,一个明显的区别是url params始终可见 - 如果用户创建书签或向某人发送URL,则参数随附。
答案 4 :(得分:0)
对于已经说过的内容,我想补充一点,当你在url中有params时,让用户创建书签 - http://bikes.com/catalog.aspx?category=downill [不是真实地址]。所以在某些情况下可能会更好,然后是其他两个选项。