用户对其企业商品、企业信息,以及反馈信息等功能的操作都是通过前台页面进行的,所以说这前台页面对用户对其企业的了解有及其重要的作用。
前台页面因此要结构清晰并便于使用,这样用户才会易于看到网站,了解您的企业和服务。可以使用一些醒目的标题和文字来突起您的产品与服务,这样使得他们更清楚的了解到您的企业。
网页设计中导航使用超文本链接或图片链接,使人们能够在您的网站上自由前进或后退,而不会让他们使用浏览器上的前进或后退。我们在所有的图片上使用“ALT”标识符注明图片名称或解释,以便那些不愿意自动加载图片的观众能够了解图片的含义
在网页设计中尽量避免使用过多的图片及体积过大的图片,确保普通浏览者页面等待时间不超过10秒。
下面我介绍下关于前台有关模块代码设计:
function mbody_click(){
if (misShow){
srcel = getReal(window.event.srcElement, "className", "coolButton");
for(var x=0;x<=mmenus.length;x++){
if(srcel.id=="mMenu"+x)
return;
}
for(x=1;x<=mnumberofsub;x++){
if(srcel.id=="mp"+x)
return;
}
mallhide();
}
}
function mmenuitem_down(){
srcel = getReal(window.event.srcElement, "className", "coolButton");
mtoin(srcel)
misdown=true;
}
function mmenuitem_up(){
srcel = getReal(window.event.srcElement, "className", "coolButton");
mtoout(srcel)
misdown=false;
}
function mmenuitem_over(menuid,item,x,j,i){
toel = getReal(window.event.toElement, "className", "coolButton");
fromel = getReal(window.event.fromElement, "className", "coolButton");
if (toel == fromel) return;
srcel = getReal(window.event.srcElement, "className", "coolButton");
for(nummenu=1;nummenu<=mnumberofsub;nummenu++){
var thesub=document.all['msubmenudiv'+nummenu]
if(!(menuid==thesub||menuid.style.tag>=thesub.style.tag)){
msubmenuhide(thesub);
mnochange(document.all['mp'+nummenu]);
document.all["mitem"+nummenu].style.color=mfontcolor;
}
}
if(item)document.all["mitem"+item].style.color=mmenuovercolor;
if(misdown||item){
mtoin(srcel);
}
else{
mtoout(srcel);
}
if(x==-1)mthestatus=eval("msub"+j).items[i].statustxt;
if(j==-1)mthestatus=mmenus[x].items[i].statustxt;
if(mthestatus!=""){
musestatus=true;
window.status=mthestatus;
}
clearTimeout(mpopTimer);
}
function mmenuitem_out(hassub){
toel = getReal(window.event.toElement, "className", "coolButton");
fromel = getReal(window.event.fromElement, "className", "coolButton");
if (toel == fromel) return;
srcel = getReal(window.event.srcElement, "className", "coolButton");
if(!hassub)mnochange(srcel);
if(musestatus)window.status="";
mpopOut()
}
第五章 网站维护
5.1使用说明与安装
使用基于asp的动态网站要通过IIS服务对网站进行调试和浏览,因此要先安装IIS服务。怎么安装下面会说到。
网站页面也是通过IE浏览器访问的,只要在IE地址中输入网站网址就可以进行网站访问,通过网站导航栏对其他页面进行跳转。
5.1.1 运行环境要求
操作系统:Windows 2003 Server(推荐)
开发工具:Macromedia Dreamweaver
开发技术:ASP技术
服务器:IIS6.0
浏览器:IE5.0以上都可以
数据库:access
5.1.2 安装与配置
IIS的安装与配置
a.安装IIS
若操作系统中还未安装IIS服务器,可打开“控制面板”,然后单击启动 “添加/删除程序”,在弹出的对话框中选择“添加/删除Windows组件”,在Windows组件向导对话框中选中“Internet信息服务(IIS)”,然后单击“下一步”,按向导指示,完成对IIS的安装
b.启动Internet信息服务(IIS)
Internet信息服务简称为IIS,单击Windows开始菜单---所有程序---管理工具---Internet信息服务(IIS)管理器,即可启动“Internet信息服务”管理工具.
c.配置IIS
IIS安装后,系统自动创建了一个默认的Web站点,该站点的主目录默认为C:\\Inetpub\\www.root。
用鼠标右键单击“默认Web站点”,在弹出的快捷菜单中选择“属性”,此时就可以打开站点属性设置对话框,在该对话框中,可完成对站点的全部配置。
启动与停止IIS服务
在Internet信息服务的工具栏中提供有启动与停止服务的功能。单击 可启动IIS服务器;单击 则停止IIS服务器。
5.2安全性分析
一、安全隐患分析
IIS+ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全意识和措施。
1.数据库可能被下载
在IIS+ASP+Access网站中,如果有人通过各种方法获得或者猜到数据库的存储路径和文件名,则该数据库就可以被下载到本地。
2.数据库可能被解密
由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。
3.ASP页面的安全性
(1)源代码安全性隐患。由于ASP程序采用非编译性语言,大大降低了程序源代码的安全性。如果黑客侵入站点,就可以获得ASP源代码;同时对于租用服务器的用户,因个别服务器出租商的职业道德问题,也会造成ASP应用程序源代码泄露。
(2)程序设计中容易被忽视的安全性问题。ASP代码使用表单实现交互,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。
二、提高IIS+ASP网站安全性的方法
1.防止数据库被下载
由于Access数据库加密机制过于简单,有效地防止数据库被下载,就成了提高ASP+Access解决方案安全性的重中之重。
2.对ASP页面进行加密
为有效地防止ASP源代码泄露,可以对ASP页面进行加密。
3.注册验证
为防止未经注册的用户绕过注册界面直接进入应用系统,我们采用Session对象进行注册验证。
第六章 总结
通过本次文档设计,让我更加深刻的了解通过asp来制作网站,同时也理解了做程序的基本流程,要做好一个程序,首先要做好需求分析,这样使得自己在后面的开发中知道要实现那些功能,通过流程图的我可以更好的知道程序设计的流程。总体来说这次设计让我对asp技术有了更深刻的了解,同时也知道了怎么使得网站更加安全。这次设计让我受益匪浅,也对我今后进展工作有很大的帮助。
致谢
这次文档范文项目能顺利完成,首先要感谢我的工作单位开元科技提供我一个学习研究的环境,使我我在设计中学到很多东西,让我的技术有很大的帮助。通过这次文档范文项目的顺利完成让我学到很多有关于ASP的知识。在范文的设计过程中,感谢学校老师对我的指导。最后还要感谢公司对我工作上的支持、指导和帮助。
参考文献
神龙工作室 ASP网络编程从入门到精通 人民邮电 2006
汪晓平 .ASP网络开发技术[M] 人民邮电出版社.2001.
李文才、田中雨、刘跃军等 ASP动态网站开发基础教程与实验指导(从基础到应用) 清华大学出版社
王兴玲、于海波、胡晓辉、李刚生 ASP案例汇编 清华大学出版社
附录
附件1 对数据库进行连接
<%
dim conn
dim connstr
dim db
db="../Databases/asp99cms.mdb" '数据库文件位置
on error resume next
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
if err then
err.clear
else
conn.open connstr
end if
function jincheng (p)
jincheng=p-100000000000000
end function
sub CloseConn()
conn.close
set conn=nothing
end sub
%>
附件2 后台功能代码
<%
if session("AdminName") = "" then
response.Redirect "Login.asp"
end if
%>
<%
select case Request("menu")
case ""
main
case "top"
top
end select
%>
<script>
if(self!=top){top.location=self.location;}
function switchSysBar(){
if (switchPoint.innerText==3){
switchPoint.innerText=4
document.all("frmTitle").style.display="none"
}else{
switchPoint.innerText=3
document.all("frmTitle").style.display=""
}}
</script>
Function IsObjInstalled(strClassString)
On Error Resume Next
IsObjInstalled = False
Err = 0
Dim xTestObj
Set xTestObj = Server.CreateObject(strClassString)
If 0 = Err Then IsObjInstalled = True
Set xTestObj = Nothing
Err = 0
End Function
附件3 前台功能代码
<script language="java script">
<!--
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= 105/80){
if(image.width>105){
ImgD.width=105;
ImgD.height=(image.height*105)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt="点击查看详细信息...";
}
else{
if(image.height>80){
ImgD.height=80;
ImgD.width=(image.width*80)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt="点击查看详细信息...";
}
}
}
//-->
</script>