,值2,---值n)的SQL语句。关键程序代码如下:
<% ------
CMD=Server.CreatObject(“ADODB.COMMAND”)’创建命令集COMMAND对象
STRSQL= “INSERT INTO STU_KEY(SNO,XM,PWD)VALUES(‘00121001’,‘周兴’,‘123’)”
SET CMD.ACTIVECONNECTION=CONN
CMD.COMMANDTEXT= STRSQL
CMD.EXCUTE
IF ERR.NUMBER=0 THEN
Response.write(“记录添加成功!”)
ELSE
Response.write (Err.description)
Err.clear '错误被手工处理后要记得清除err对象的内容
Response.end()
END IF
%>
要修改学号为00121001的学生记录,那么程序中要用到类似于
UPDATE 数据表 SET 新值 WHERE 条件的SQL语句,关键程序代码如下:
<% ------
CMD=Server.CreatObject(“ADODB.COMMAND”)’创建命令集COMMAND对象
STRSQL= “UPDATE STU_KEY SET SNO=‘00121001’,XM=‘马超’,PWD=‘123’”&
“WHERE SNO=’00121001’”
SET CMD.ACTIVECONNECTION=CONN
CMD.COMMANDTEXT= STRSQL
CMD.EXCUTE
IF ERR.NUMBER=0 THEN
Response.write(“记录修改成功!”)
ELSE
Response.write (Err.description)
Err.clear '错误被手工处理后要记得清除err对象的内容
Response.end()
END IF
%>
通过以上对数据库查询、插入、删除、修改的程序代码介绍,不难发现SQL语言表达简洁,功能强大而且执行效率高,是操作数据库的绝佳方法。
(5)关闭数据库
当完成了数据库操作后,应关闭数据库。方法如下:
<%
RS.CLOSE
SET RS=NOTHING
CONN.CLOSE
SET CONN=NOTHING
%>
第七章:系统安全
黑客攻击互联网网站,还有恶意黑客窃取网上的军事机密和数据库中的商用数据的事件层出不穷,所以现在网络数据库的安全必须给予高度重视。
本系统从一开始就考虑了这个问题,从三个方面来提高数据库的安全性:
(1)从结构上,所有用户的操作都是B/S三层结构,即用户不能直接访问数据层,必须通过应用层才能得到所需的数据,这样等于在传统C/S模式的两层结构上加了一个安全层。
(2)现在有很多网络黑客可以从网上直接调用密码验证后的文件,从而绕过口令验证和安全检查,而本系统为解决这个问题,在每一个文件里都加了一个安全参数的认证,如果有一个页面被用户直接调用而没有经过身份验证,该页面会自动重定向到登入页面,还有对于已经通过系统身份验证的不同类型的用户,用SESSION(“name”),SESSION(“flag”)等变量参数进行跟踪来加强系统安全性。这样,毕业生、用人单位都不能超越权限访问管理员相应的管理页面或者干脆不提供相应的页面连接。以管理员入口为例,实现的关键程序代码如下:
<% if session("name")="" or session("flag")<>"1" then %>
<a href="#" class="Alink">管理员</a>
<% else %>
<a href="admin/index.asp" target="_blank" class="Alink">管理员</a>
<% end if %>
这样,非管理员类型的用户都被拒之门外了,即使知道了文件所在站点的路径,也还是于事无补。因为在服务器端的.ASP文件中还有一段安全性检验代码。
在服务器端,安全性检验代码如下:
<% ‘只允许本系统的管理员用户可以进入
if ( session(“name”)=”” or session(“flag”)<>1) then %>
response.Redirect("index.asp")
end if
%>
这段代码简洁高效,对其它各种大小系统也有非常重要的意义。
(3)为了保护核心数据库,采用了数据库加密的方法,这样即使有人找到了数据库文件 ,也因为缺少正确的口令无法将其打开。虽然目前ASP的站点很多都存在可以看见源代码的问题,如果ASP程序员将数据库的连接用户名和密码直接写在ASP里 ,那么一旦源码被发现,如果数据库允许远程访问而且没有设防的话就相当危险了。如何解决这个问题呢 ?可以将ASP文件存放的目录设置为不可读 (ASP仍能执行 ),这样HTML、CSS等文件就不能放在这个目录下,否则它们将不能被浏览。或者安装微软提供的补丁程序,注意针对不同的系统有不同的补丁[3]。