SQL高手请进!数据库字段名被暴!怎么办?

我用的是ACCESS,我对于ASP的安全防范还不是很好~我的一个网站的留言板是用ASP+access做的,最近经常有些人在我的空间留言,其留言后,竟然将我的数据表中的字段... 我用的是ACCESS,我对于ASP的安全防范还不是很好~

我的一个网站的留言板是用ASP+access做的,最近经常有些人在我的空间留言,其留言后,竟然将我的数据表中的字段名暴露出来.

如一般我们留言板的设的字段为:id(编号),name(昵称),about(内容),留言者留言后,竟然出现如:
$(name)或$(name:n)的留言!

他怎么知道我的数据库字段名的?怎么防范啊?
什么漏洞呢?能指出来一下吗?
展开
 我来答
百度网友748c615
2008-01-24 · TA获得超过942个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:147万
展开全部
网站程序做的不够完善,也就是说有漏洞,防范安全不到位啊!
做网站的时当有参数传递的时候,一定要把参数过滤后再写进SQL语句,把所谓的“网络黑客”给打倒在注入的起跑线上!
不明白的话百度一下“SQL注入”,你就会发现一个防范不到位的网站风险有多大了!
给你一个过滤参数的简单实用的代码段:
<%
Function CheckNum(Default,Num)
If Num=1 Then
If isNumerice(Default) Then
CheckNum=Int(Default)
Else
Response.write"参数传入有误,必须为数字型!"
Response.End()
End If
Else
If Num=0 Then
If Trim(Default)<>"" Then
CheckNum=Replace(Replace(Replace(Replace(Replace(Default,"'",""),"update",""),"Insert",""),"Select",""),"Execute","")
Else
Response.write"参数不能为空!"
Response.End()
End If
End If
End function
%>
Num取值范围:(0,1)
为0时:传递过来的参数是文本型
为1时:传递过来的参数是数字型
Default:表示传递过来的参数

举例说明给你看:
产品显示页(Product_Show.asp):
一定会有从产品列表传递过来的参数,那么Product_show.asp在处理传递来的参数时应该是:Product_show.asp?id=**&Class=**这种形式,在接收时就用上了刚才的CheckNum(),方法如下:
<%
Dim id,class
id=CheckNum(Request("id"),1)
Class=CheckNum(Request("Class"),0)
sql="Select * from Product where id="& id &" and class='"& Class &"'"
rs.open sql,conn,1,1
%>
大致就是如此这些了,加上这样的一个过滤,相对来说比不加过滤要安全多了!
这只是显示页面的处理思路,其它的用到参数传递时也是如此,不明白再问!
灵猫的羽毛
2008-01-24 · TA获得超过167个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:253万
展开全部
ASP是不是自己写的?虽然我不是太懂ASP不过我想有可能是你显示的sql写法问题 比如存名字的时候
String sql="insert into 表(name) values("+$name+")"
是不是写成了
String sql="insert into 表(name) values($name)"
变量是不带引号的
另外设计数据库的时候也可以有一定技巧,比如name id type这些,都可以把表名加上 比如student中 字段就是stu_name stu_id...之类

这样做好处是别人不容易猜对你的字段,另外这样避免了不同表中字段名重复,简化了很多sql写法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaviechen
2008-01-23 · TA获得超过251个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:373万
展开全部
ASP代码有漏洞
没有对参数进行过滤
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式