Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 手动检测查询字符串angularjs的更改_Javascript_Angularjs_Http_Get_Query String - Fatal编程技术网

Javascript 手动检测查询字符串angularjs的更改

Javascript 手动检测查询字符串angularjs的更改,javascript,angularjs,http,get,query-string,Javascript,Angularjs,Http,Get,Query String,我有angularjs应用程序。我有一个编辑表单,其中路由中的url是app/edit/:id。当我转到app/edit/5时,我可以编辑id=5的对象。但当我手动将url链接更改为app/edit/6时,app将加载id=6的对象。这是我的问题,因为我的用户无法编辑此对象。如何检测这种情况?如何阻止它?有选择吗?解决方案可以来自其他js框架。您正在寻找的技术是防止查询字符串被篡改 其思想是在服务器上生成查询字符串,计算其哈希值,将该哈希添加到查询字符串中,然后在用户单击或以某种方式使用该链接时

我有angularjs应用程序。我有一个编辑表单,其中路由中的url是app/edit/:id。当我转到app/edit/5时,我可以编辑id=5的对象。但当我手动将url链接更改为app/edit/6时,app将加载id=6的对象。这是我的问题,因为我的用户无法编辑此对象。如何检测这种情况?如何阻止它?有选择吗?解决方案可以来自其他js框架。

您正在寻找的技术是防止查询字符串被篡改

其思想是在服务器上生成查询字符串,计算其哈希值,将该哈希添加到查询字符串中,然后在用户单击或以某种方式使用该链接时检查服务器上的哈希。但是,它可能仍然容易受到攻击

无论如何,防篡改查询字符串在web上不是一种常见做法,不应该用作授权和身份验证的替代品,因此您应该问问自己,您真的需要吗