要想会检测网站篡改首先要学会网络篡改,要想学会网络篡改首先要会搭建网络
就我这半吊子建站水平……学一学嘛
虚拟机中的环境:
windows server 2016 x64
Access2010
按照教程搭建好了IIS服务器,在网上找了一个asp/access的网站源码,在iis服务器中建立了网站添加网站根目录,按照网站要求赋予根目录IUSR权限,赋予data等文件夹写入权限,赋予网站根目录Everyone读取权限。
访问本地运行测试一下,出现报错
数据库连接出错,请检查数据库连接文件中的数据库参数设置
这是单独一个空白页面根据response.write命令直接写出来的,通过翻阅博客了解到大部分asp网站连接数据库的配置信息写在了“Conn.asp”文件中,打开网站的该文件,发现有两处报错返回都是“数据库连接出错,请检查数据库连接文件中的数据库参数设置”,在第一处上随便加了几个字母,再次运行后发现显示的是修改后的报错信息,所以错误出在前面的if语句上。
起初我以为是数据库连接出了问题,因为在某博文中博主这样说:
我们看到了,代码几乎一样,就是接口不一样,分别是:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎)。
Jet 引擎可以访问 Access 97-2003,但不能访问 Access 2007。
ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Access 2007,也可以访问 Access 97-2003。
原文链接:
我以为是前后版本的接口不同,又做了深入了解
通过了解博文,我将原来的
conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
换成了
conn.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&Server.MapPath("Data/Test.accdb")&";Persist Security Info=False"
错误还是没有解决。
我又发现他是根据Err这个错误信息做出的if选择,我把它的内容通过response.write命令显示出来,发现是错误代码3706
通过一番查找,在某篇百度经验中了解到了问题的根源:
在win7/win8 64位的系统中没有启用IIS需要的32位程序。或者这样说,当用户使用了WINDOWS 64位操作系统,却没有对应的64位Jet 4.0驱动程序,那么就必须要在IIS中启用32位应用程序。否则打开网站.ASP网页文件时就会出现“错误号:3706 错误描述:未找到提供程序。该程序可能未正确安装”的提示。
解决方法:
IIS信息管理器 – ‘查看应用程序池’ – 右边操作中选择‘设置应用程序池默认设置..’,在‘常规’中设置‘启用 32 位程序’为True。
问题解决