Javascript-检查元素的ajax形式的保护值,如何保护?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript-检查元素的ajax形式的保护值,如何保护?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1420字,纯文字阅读大概需要3分钟。
内容图文
![Javascript-检查元素的ajax形式的保护值,如何保护?](/upload/InfoBanner/zyjiaocheng/683/794ebb0928804cfabecde4c7a12466a8.jpg)
如何保护我的ajax形式的检查元素?
我正在创建一个系统,但我忘记了用户可以使用inspect元素编辑隐藏输入的值.
请看下面的代码:
<input type="hidden" class="id" value="<?=$array["id"]?>" />
和ajax:
var id = $(this).parent().find('.id').val();
如果id为5并且我编辑为2,则ajax将获得2
谁能帮我?
解决方法:
你根本做不到.您永远不能假设从客户端发送的数据是可信赖的.这就是为什么您应该始终检查服务器上的输入的原因.在客户端上检查它只是提高效率的额外措施.它绝不是替代品,绝不应该是唯一的安全措施.
但是,作为额外的安全性.您可以添加第二个字段,其中包含隐藏字段的哈希值(当然要加盐,否则毫无意义).然后在服务器上检查该值是否仍与哈希匹配(通过再次使用相同的salt值进行哈希).
但是您也不应该太信任它.
<input type="hidden" name="id" class="id" value="<?=$array["id"];?>" />
<input type="hidden" name="hash" class="id" value="<?=md5($array["id"] . "somerandomstring");?>" />
然后在服务器上检查它是否仍然匹配,并且未被篡改.
$id = $_GET["id"];
$hash = $_GET["hash"]
if(md5($id . "somerandomstring") == $hash) {
// it's okay
} else {
// he changed it
}
当您通过AJAX从客户端收到ID和哈希值时,只需检查是否再次使用相同的Salt值对ID进行哈希处理就可以得到相同的哈希值.如果不是,则表示他更改了ID.
但是您仍然应该检查是否允许用户使用此ID来处理该项目.也许您应该使用sha而不是md5,因为md5非常不安全.
盐必须是秘密的,并且在两个地方都相同. “ salt”值是添加到要哈希的值中的随机代码段,因此,黑客很难尝试根据哈希值对您的原始值进行暴力破解(但并非不可能).
添加几分钟的超时,它可能已经足够安全了.
内容总结
以上是互联网集市为您收集整理的Javascript-检查元素的ajax形式的保护值,如何保护?全部内容,希望文章能够帮你解决Javascript-检查元素的ajax形式的保护值,如何保护?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。