本文目录一览:
网站SQL数据库总是被人入侵,有什么 *** 解决
1楼的兄弟,现在的数据库入侵一般都是通过注入进行的,通过WEB的80端口,硬件防火强是不能拦截的。
防止网站被入侵,首先要对带入数据库查询的字符进行严格的过滤。防止黑客通过注入的到管理帐户的密码。现在网上有很多的防注入程序。去下载一个放到你的网站目录。在每个asp文件前面包含进去就行了。这样可以阻挡大多数的小菜。还有,把网站的管理目录的名字改为一些生僻的目录名或者足够的深。让黑客猜到了密码也没处去登陆。(呵呵)最后,鉴于大多数的黑客会上传webshell控制网站。把上传目录都该为不课执行asp文件的目录。这样就可以抵挡大多数的黑客攻击。如果你用的别人的整站系统,请您随时关注它的漏洞信息,及时的打好补丁。
网站入侵的基本思路?
黑客入侵网站的思路其实跟我们的思路都是差不多的。首先从简单的入手,如果简单方式攻破了,自然不想花费太多时间去研究,黑客也是希望多花点时间挑战高难度的网站。
那么一般黑客先从哪里入手:
之一:网站后台,应该现在很多网站都是套用开源系统开放,所以网站后台地址很容易ping出来。大多都是admin、manage。所以,网站后台密码不要过于简单,很多管理员方便记住密码,大都是admin123。这样的网站,要把网站搞废,分分钟的事情。
第二:网站后台攻破不了的话,从数据库入手。由于服务器IP很容易PING出来,很多人数据地址都是采用物理数据库地址。那么就差数据库密码了。所以,如果网站数据库架设不严谨,考虑不周全,那么数据库同样也是简单的被攻破。
所以,做网站一定要找有经验的团队。
ASP网站post注入是怎么一回事?如何防止?
一般的http请求不外乎 get 和 post两种,如果过滤掉所有post或者get请求中的参数信息中的非法字符,那么也就实现了防SQL注入。
首先定义请求中不能包含如下字符:
'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare
各个字符用"|"隔开,然后再判断Request.QueryString,具体代码如下:
get请求的非法字符过滤:
dim sql_injdata
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj = split(SQL_Injdata,"|")
If Request.QueryString"" Then
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.Write "Script Language='javascript'{alert('请不要在参数中包含非法字符!');history.back(-1)}/Script"
Response.end
end if
next
Next
End If
post请求的非法字符过滤:
If Request.Form"" Then
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
Response.Write "Script Language='javascript'{alert('请不要在参数中包含非法字符!');history.back(-1)}/Script"
Response.end
end if
next
next
end if
然后在使用的时候将这两段代码放在数据库连接的文件里一起Include进来即可。