我使用ajax向服务器提交值。
$.ajax({
type: "POST",
url: "services.php",
data: "a=1&b=2&c=3&d=4",
success: function(msg)
{
}
});
我面临一个问题。如您所知,有经验的用户可以通过在浏览器网址栏中键入以下网址来轻松更改传递参数值。
例如:mywebsite.com/services.php?a=0&b=0&c=0&d=0
据我所知,Javascript中的哈希(参数+密钥)。然后,我将参数值与散列值一起传递给服务器。哈希(参数+密钥)在php脚本中完成。如果两个散列值匹配,它将更新数据库中的数据。
基本上,
在javascript中:sort(参数) - > join(参数) - > MD5(参数) 在php脚本中:sort(参数) - > join(参数) - > md5(参数) - >比较两个散列值
有没有合适的方法可以防止它被改变?
提前致谢。
答案 0 :(得分:1)
诀窍是如何在javascript中隐藏用户隐藏的密钥?如果您公开它,用户仍然可以进行更改并重新调整参数。您无法真正阻止此类修改,这就是您需要清理并验证服务器端的所有输入的原因。