【发布时间】:2012-05-28 12:41:58
【问题描述】:
我使用 ajax 向服务器提交值。
$.ajax({
type: "POST",
url: "services.php",
data: "a=1&b=2&c=3&d=4",
success: function(msg)
{
}
});
我面临一个问题。如您所知,有经验的用户可以通过在浏览器 url 栏中键入以下 url 来轻松更改传递参数值。
例如:mywebsite.com/services.php?a=0&b=0&c=0&d=0
据我所知,Javascript 中的散列(参数+密钥)。然后,我将参数值与散列值一起传递给服务器。散列(参数+密钥)在 php 脚本中完成。如果两个哈希值匹配,它将更新数据库中的数据。
基本上,
在 javascript 中:排序(参数)-> 连接(参数)-> md5(参数) 在 php 脚本中:sort(parameter) -> join(parameter) -> md5(parameter) -> 比较两个散列值
有没有合适的方法防止它被改变?
提前致谢。
【问题讨论】:
-
您应该只在服务器端验证参数及其值
-
如果这种操作应该只允许授权用户使用?如果是这样,请使用 cookie-session-variable。
标签: php javascript hash md5