哈希 URL 参数,MD5 哈希 (PHP)


Hash URL parameter, MD5 Hash (PHP)

我使用 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(参数( -> join(参数( -> md5(参数( ->比较两个哈希值

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

提前谢谢。

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