日期:2014-05-17  浏览次数:20403 次

asp.net中ajax提交表单数据安全问题

此处js判断表单输入的数据是否正确
 if ($("#types").val() == "") {
                alert("请选择您要购买的产品分类!");
                return false;
            }
…………
 var datas = FormToStr("seekPub");//获取表单中的数据并使用&连接在一起并编码
            if (datas == null)
                return;
            $.ajax({
                async: true,
                cache: false,
                url: "Publish/Seek.ashx",
                type: "POST",
                data: datas,
                dataType: "xml",


Seek.ashx中直接接收前台数据,并追加到数据库中

问题:上传到服务器上之后,几天后发现数据库中被添加了1万多条数据,而且都是一些特殊字符,应该不是在我的页面上直接提交的,直接提交都有js验证数据的正确性。而是通过某种手段直接访问我的seek.ashx添加上的。我想过在seek中验证数据。
请问各位大神,这是怎么回事,怎么才能做到更安全呢。

------解决方案--------------------
加密解密
后台过滤
------解决方案--------------------
你应该做服务器端验证
------解决方案--------------------
每次客户端请求表单时发送一个校验码和安全令牌。
提交到服务器端口要求出示校验码和安全令牌,如果没有或是错误则不予通过!
------解决方案--------------------
引用:
Quote: 引用:

你应该做服务器端验证

这个我想到了,请问一下,他是怎么跳过我页面的js提交的,难道他是直接新建一个页面,然后表单里面都赋值,然后循环提交,action的路径写成网络路径就可以提交吗?我是这样理解的。