0

我使用 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 中:sort(parameter) -> join(parameter) -> md5(parameter) 在 php 脚本中:sort(parameter) -> join(parameter) -> md5(parameter) -> 比较两个散列值

有没有合适的方法来防止它被改变?

提前致谢。

4

1 回答 1

1

诀窍是如何在 javascript 中对用户隐藏密钥?如果您公开它,用户仍然可以进行更改并重新散列参数。您无法真正阻止这种修改,这就是您需要清理和验证服务器端的所有输入的原因。

于 2012-05-22T02:23:48.640 回答