aspx网站建设关于网站数据库的安全方案。网站建设公司认为对于采用“虚拟主机”的方式建立的中小型网站,其后台数据库绝大多数采用Access数据库。如果有人通过各种方法获得或者猜到数据库的存储路径和文件名,则该数据库可以被下载到本地。深圳
网站建设公司提醒为了防止被非法下载和访问,可采取以下措施。
(1)改变数据库名称。为数据库文件起个复杂的非常规的名字,并放在几层目录下。所谓“非常规”,就是说如果有个数据库要保存的是有关电子商店的信息,不把它命名为“eshop.mdb”,而是起个比较怪的名称,如d34ksfslf.mdb,再放在如/kdslf/i44/studi/ 的几层目录下,这样黑客要想通过猜的方式得到Access数据库文件就比较困难了。
(2)不把数据库名写在程序中。许多人都把DSN写在程序中,比如DBPath=Server.MapPath("cmddb.mdb")conn.Open "driver={Microsoft Access Driver(*.mdb)};dbq="&DBPath 假如万一给人拿到了源程序,Access数据库的名字就一览无余。因此建议在ODBC里设置数据源,再在程序中这样写:conn.open "shujiyuan"。
(3)改变数据库文件的扩展名。如把abc134.mdb改为abc134.asp,这样在ASP文件及数据库操作中仍然可以正常使用。但在非法访问者看来,该文件已不是数据库文件了。
(4)加密Access数据库文件。选择“工具→安全→加密/解密数据库”,选取数据库(如employer.mdb),然后单击“确定”按钮,会出现“数据库加密后另存为”的窗口,另存为employer1.mdb。接着,employer.mdb会被编码,然后存为employer1.mdb。要注意的是,以上的方法并不是对数据库设置密码,而只是对数据库文件的内容进行加密,目的是为了防止他人使用别的工具来查看数据库文件的内容。接下来为数据库设置密码,首先打开经过编码的employer1.mdb,在打开时,选择“独占”方式。然后选取菜单的“工具→安全→设置数据库密码”选项,输入密码即可。为employer1.mdb设置密码之后,如果再使用Access数据库文件时,则Access会先要求输入密码,验证正确后才能够启动数据库,可以在ASP程序中的connection对象的open方法中增加PWD的参数来访问有密码保护的数据库文件。
例如:
这样即使别人得到了employer1.mdb文件,没有密码是无法看到employer1.mdb的内容。
综合使用上述方法,数据库被非法下载的可能性就会降低。
深圳网站建设公司详解防范SQL注入攻击1.SQL注入攻击的原理
许多动态网站在编写程序时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户通过向数据库提交一段精心构造的SQL查询代码,(一般是在浏览器地址栏进行,通过正常的www端口访问)根据程序返回的结果,收集网站与数据库的信息,进而非法获得网站数据库中的敏感信息或向其中添加自定义数据,这就是SQL Injection,即SQL注入攻击。SQL注入攻击使用简单,危害大。被攻击成功的网站往往被攻击者掌握最高权限,可任意增删数据。
为了说明SQL注入攻击的原理,可在本地网站http://localhost/进行测试。
http://localhost/show.asp?ID=123是一个正常的网页地址,将这个网址提交到服务器后,服务器将进行类似Select * from 表名 where 字段="&ID"的查询(ID即客户端提交的参数,本例是即123),再将查询结果返回给客户端,如果在这个地址后面加上单引号,服务器会返回下面的错误提示:
Microsoft JET Database Engine 错误 '80040e14'
字符串的语法错误在查询表达式 'ID=123''中。
/show.asp,行8
从这个错误提示我们能看出下面几点:
(1)网站使用的是Access数据库,通过JET引擎连接数据库,而不是通过ODBC。
(2)程序没有判断客户端提交的数据是否符合程序要求。
(3)该SQL语句所查询的表中有一名为ID的字段。
如果数据库使用的是Access,那么情况就有所不同,第一个网址的页面与原页面完全不同;第二个网址,则视乎数据库设置是否允许读该系统表,一般来说是不允许的,所以与原网址也是完全不同。大多数情况下,用第一个网址就可以得知系统所用的数据库类型,第二个网址只作为开启IIS错误提示时的验证。2.防范SQL注入攻击
对于存在SQL注入攻击漏洞的网站,攻击者可以通过专用工具或手工构造特殊代码不断猜测尝试,获得数据库名、表名、表中的字段名称,甚至是具有系统管理权限的用户账号和密码、上传病毒、木马或恶意文件,给网站带来巨大危害。网站建设公司安全工程师下面讲述如何防止SQL注入。
(1)设置ASP错误提示。
SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即HTTP 500错误,那么攻击者就没办法直接得到网站的数据库信息,也就很难确定下一步的攻击目标了。具体设置参见图9-2。主要把500:100这个错误的默认提示页面 C:\WINDOWS\Help\iisHelp\common\500-100.asp改成自定义的c:\windows\help\iishelp\common\500.htm即可,这时,无论ASP运行中出什么错,服务器都只提示HTTP 500错误。
但是这样设置一个不好的地方是程序员编写的代码出错时,服务器不给出详细的错误提示信息,会给程序调试带来很大的不便。不过,服务器毕竟不是测试代码的地方,应坚持安全稳定第一,这样设置也是无可厚非的,事实上许多服务器的出错信息都是如此设置的。
(2)过滤敏感字符。
在程序中对客户端提交的数据进行检查,如果输入中存在着特殊字符(如’、<、>、=等),或者输入的字符中含有SQL语言中的命令动词(如insert、select、update等),就认为是SQL注入式攻击,系统立即停止执行并给出警告信息或者转向出错页面。
下面是防止注入式攻击的ASP代码,使用时加入到相应的asp文件中即可。该代码并没有实际记录攻击者的相关信息,如有必要,完全可以把攻击者的数据记录到特定的文件中,以备查看。
(3)对相关账户的信息加密。
常见的是利用MD5进行加密处理,用MD5加密的数据不能被反向解密,即使看见了加密后的密文也不能得到原始数据。使用时,把用VBScript实现MD5算法的文件md5.asp包含在文件中,然后用md5(user_password)的形式调用,即可得到加密后的密文。如:网站建设完成后,可用NBSI、HDSI、DFomain、《啊D注入工具》等网页注入工具对网站进行检测,如果不能被注入,则可以正式发布运行。好了,
深圳网站建设公司本文关于“aspx网站建设关于网站数据库的安全方案”就分享到这里。如果您需要联系深圳网站建设公司定制开发行业门户、企业门户ASPX语言的网站定制建设服务,请咨询我们网站在线客服或者拨打网站aspx建站技术客服联系电话,为您提供详细的建站解决方案。谢谢关注,博纳网络编辑整理。