【JavaSript】发现一个漏洞

经常会在前台做各种check,比如某域是否为空、不能为英数字、日期不能大于现在时间等等,只有所有check都通过了,才能提交表单。

比如这样

<script>
    $("#submitbtn").click(function(){
            //check
            ............
            document.forms[0].submit();
    });
</script>
<form>
    <input type="button" id="submitbtn" value="ok"/>
</form>

其实这样做很不靠谱。

如上代码,只要用chrome的开发工具,进入debug模式,然后在Watch Expressions里面直接输入

document.forms[0].submit();

就能绕过check,直接提交表单,这对于后台来说简直是一个灾难。

因此从安全的角度来说,所有check都得在后台做来得保险,前台check只能是降低数据提交次数的一种手段,而不是最终check。

posted @ 2012-10-08 11:55  のんきネコ  阅读(210)  评论(0编辑  收藏  举报