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

关于ASP外部提交数据请教
各位好,我用了网上大家说的防外部提交数据的方法(下面的代码)。但是好象没有用,还是有人提交了数据进来。请问有没有什么更好的方法,谢谢!

Dim   ServerNameLen,ClientName,ServerName
ServerNameLen=Len(Request.ServerVariables( "SERVER_NAME "))
ClientName=Lcase(left(Cstr(Request.ServerVariables( "HTTP_REFERER ")),ServerNameLen))
ServerName=Lcase(left(Cstr( "http:// "&Request.ServerVariables( "SERVER_NAME ")),ServerNameLen))
IF   ServerName <> ClientName   Then
Response.Write   "您好,提交数据有错误,如果有问题请与客服联系! "
Response.End
End   IF

------解决方案--------------------
判断cookies吧
------解决方案--------------------
这样都不行???


可能是人家用工具修改了文件头,然后提交的!
------解决方案--------------------
验证码方式,session保存动态生成的验证码,将验证码用组件生成图片传到客户端,要用户输入图片中的数据,递交后先比较验证码,正确则继续操作.
------解决方案--------------------
我遇到过的是一个产品定单,我是在提交数据的时候进行了限制,就是输入的产品名跟数据库比对 要是没有产品将不能进行提交操作, 大家觉得这样可以吗?
------解决方案--------------------
外部提交是防不住的,不如验证提交的数据来得可靠。
------解决方案--------------------
关注
------解决方案--------------------
服务器端加个session判断,

数据表单填写页加上
session( "users ")= "right "


数据写入页加上
if session( "users ") <> "right " then
response.write( "禁止外部提交数据! ")
resposne.end
else

'写入数据
..................
session( "users ")= " "
end if