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

如何禁止在IE中输入URL来访问数据提交页面?
我在A页面通过JS添加了一个添加按钮在页面中用$.post("B.aspx",{ID:Id,Naem:name}方式传递给B页面写入数据库。

我怎么样能够防止用户在IE中输入:B.aspx?post&Id=XX&Name=XXX方式提交数据?

如何判断用户在IE中输入参数URL方式提交,如果发现采用这种方式直接给出:非法操作! 不再有任何动作 ?

------解决方案--------------------
你采用post方式来提交数据而不采取get方式 C#采用form来获取参数 当querystring获取到参数值时则给非法提示.
------解决方案--------------------
加验证码,访问A时才会随机生成一个Session,然后将它也做为参数的一部份传给B,B验证参数是否与Session的值一致
------解决方案--------------------
还有一种方式是对参数进行加密,b解密
------解决方案--------------------
输入URL方式的提交为GET提交,你指定为POST提交就行了
------解决方案--------------------
数据查询就是post参数或者get参数,只用post获取参数呗,如果有get获得值,直接跳转过去。
------解决方案--------------------
用图像验证码可以解决自动提交,没别的好方法。
------解决方案--------------------
你的B页面不做任何展示,为什么不用handler呢?
------解决方案--------------------
B页面可以检查提交方式是否POST。


不过,HTTP协议是没法防止这种请求的,只要协议允许,都可以模拟出来。这个只能做一些校验而不能当作安全手段。比较靠谱的就是检查用户的登录凭据,如果是授权用户爱怎么提交数据都可以吧,只要检查数据本身的合法性就是了。
------解决方案--------------------
引用:
引用:
输入URL方式的提交为GET提交,你指定为POST提交就行了

请问,在后台如何指定POST提交?

可以指定form标签的method属性为post,这样在提交时的方式就为post了 在cs页面中可以通过判断Request.QueryString.Count来判断是否通过get方式提交             
------解决方案--------------------
引用:
你采用post方式来提交数据而不采取get方式 C#采用form来获取参数 当querystring获取到参数值时则给非法提示.


引用:
输入URL方式的提交为GET提交,你指定为POST提交就行了


即使是post提交,一样可以模拟出来。
这并不是问题,主要是提交的数据合法就够了。