ASP下使用Access数据库需要注意的18条安全法则

1.首先,我们需要过滤所有客户端提交的内容,其中包括?id=N一类,另外还有提交的html代码中的操作数据库的select及asp文件操作语法,大家可以把提交的字符转义,然后再存入数据库。
2.然后需要对访问Access数据库的页面进行授权,针对显示数据页面只能使用select语句,过滤其他的update,asp文件则分为许可访问数据库页面和限制访问页。
3.修改数库据连接文件名conn.asp为类似123ljuvo345l3kj34534v.asp文件。
4.修改数据库名为类似q397d0394pjsdlkfgjwetoiu.asp文件。
5.给Access数据库加上连接密码(虽然可以破解,对付菜鸟,和防止上传文件无限制连接数据库)。
6.用Access软件对数据库进行编码加密。
7.用md5等加密算法加密用户密码,密码提示问题一类的字段。
8.限制搜索引擎对相关页面的搜索。
9.防止数据库被下载工具下载,如在数据库里加入等防止向客户端输出的语句。
10做好asp上传文件模板的安全管理,防止上传asp木马。
11.拒绝客户端访问数据库存连接文件,只准服务器asp文件访问。
12.限制同一客户端ip访问数据库次数。
13.如果有必要对存入数据库的内容进行加密,返回给客户端进行解密,就算数据库被下载了,也不可能轻易得到加密的原始内容。
14.对连接服务的头内容进行限制,如只许可IE访问。
15.防止通过文件查看方式,得到数据库信息,可用客户端输入密码,对密码和内容,用一定算法存入数据库,输出时,让客户端输入密码,对内容进行解密。
16.你可以把表名和字段名改为aslkejrwoieru,werkuwoeiruwe类似的字符。
17.防止在数据库里加入让改名为.asp的数据执行,可转义代码等让asp执行出错的内容。
18.最后需要注意的是,最好用odbc连接数据库,并要加上连接的密码。
19.我们提供的方法,就是一般的虚拟主机都会提供一个data目录,将.mdb数据库放到这个目录,这样无论如何都是不能被下载的。如果是单独的服务器,那么加一个.mdb文件的解析,用一个新建的空dll文件解析。

20、针对sql的注入比较厉害,很多asp程序员写的时候没有注意到安全问题,建议大家使用360的asp防助于asp文件。

http://www.jb51.net/codes/375281.html

(0)

相关推荐

  • ASP下使用Access数据库需要注意的18条安全法则

    1.首先,我们需要过滤所有客户端提交的内容,其中包括?id=N一类,另外还有提交的html代码中的操作数据库的select及asp文件操作语法,大家可以把提交的字符转义,然后再存入数据库. 2.然后需要对访问Access数据库的页面进行授权,针对显示数据页面只能使用select语句,过滤其他的update,asp文件则分为许可访问数据库页面和限制访问页. 3.修改数库据连接文件名conn.asp为类似123ljuvo345l3kj34534v.asp文件. 4.修改数据库名为类似q397d039

  • asp.net实现access数据库分页的方法

    asp.net操作access数据库是常见的数据库操作应用,本文就来实例讲解一下asp.net实现access数据库分页的方法.希望对大家的asp.net程序设计能有所帮助. 具体实例代码如下: <divclass="page"id="ctrlRecordPage"> 总<asp:LabelID="Zpage"runat="server"Text="1"></asp:Label

  • 深入浅析ASP在线压缩access数据库的方法

    ASP在线压缩ACCESS数据库原理很简单:利用JRO.JetEngine的压缩功能建立一个新的数据库文件,然后把原来的删掉.替换!既然这样,压缩程序只需几行就ok了! 把下面的代码保存为**.asp,数据库文件(db.md)放在相同目录下,执行asp搞定! <% oldDB = server.mappath("db.mdb") '更改数据库地址 newDB = server.mappath("db_new.mdb") '生成临时文件 Set FSO = Se

  • ASP.NET连接 Access数据库的几种方法

    web.config 第一种方法: <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细消息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <add key="AccessConnString"

  • 在Win2003 64位下ASP无法连接Access数据库

    复制代码 代码如下: ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. /连接"网站内容管理"数据库.asp,行 2 原因:IIS是以64位方式来运行的,它只能加载64位模块,不能加载32位模块.而访问access数据库的jet引擎只有32位的,没有64位,因此无法被IIS加载. 解决思路:让IIS以32位方式运行,从而可以调用32位的jet引擎 解决方法:在命令行窗口输入 cscript C:\inetpub\adminscript

  • Win2003 64位下ASP无法连接Access数据库的解决方法

    ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. /连接"网站内容管理"数据库.asp,行 2 原因:IIS是以64位方式来运行的,它只能加载64位模块,不能加载32位模块.而访问access数据库的jet引擎只有32位的,没有64位,因此无法被IIS加载. 解决思路:让IIS以32位方式运行,从而可以调用32位的jet引擎 解决方法:在命令行窗口输入 复制代码 代码如下: cscript C:\inetpub\adminscript

  • ASP.NET 链接 Access 数据库路径问题最终解决方案

    当做小项目用 ASP.NET + Access 数据库时,总是遇到数据库路径问题,本人以前的解决方法是每次访问数据库时,把链接字符串以参数的形式传到数据访问层,实施起来相当麻烦,这次找到了一个比较好的方案,这是本人目前的最终解决方案(如题)  ^_^ 解决方案为: 在 Web.Config 中配置 Access 数据库驱动和数据库文件名称. 请看代码 <appSettings>     <add key="DBDriver" value="Provider=

  • asp下删除Access数词库中的空记录的sql语句

    用零长度字符指示不存在数据  若要在 Microsoft Access 数据库中指示不存在数据,可以在"文本"或"备注"字段输入零长度字符串 (零长度字符串:不含字符的字符串.可以使用零长度字符串来表明您知道该字段没有值.输入零长度字符串的方法是键入两个彼此之间没有空格的双引号 (" ").).在连接到 Microsoft SQL Server 数据库的 Microsoft Access 项目 (Microsoft Access 项目:与 Mic

  • ASP.NET 连接ACCESS数据库的简单方法

    index.aspx 复制代码 代码如下: <%@ Page Language="C#" %><%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.OleDb" %><script runat="server">    // Insert page code here    //    voi

  • asp.net访问Access数据库溢出错误

    写了如下的一个方法来返回数据操作影响的行数:如下 复制代码 代码如下: private int GetReturnValue(string sStr, string conn) { OleDbConnection odbconn = AccessHelp(conn); OleDbCommand odbcmd = new OleDbCommand(sStr, odbconn); return odbcmd.ExecuteNonQuery(); } 用下面的一个方法来调用这个类: 复制代码 代码如下

随机推荐