冷月葬花魂 发表于 2015-1-16 22:13:42

ASP编程:ASP写的日记处置办法 (XML)

ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;xml  1、完成办法
  一个誊写日记的函数,供应几个参数,用户程序挪用这个函数就能够完成日记的纪录。日记纪录到xml文件中,日记文件按日期天生,天天新创建一个日记文件,文件名为:yyyy_mm_dd.xml,分离用了年代日。而检察日记也一样平常复杂,用户想看哪天的日记,只需间接挪用该xml文件便可。由于xml文件已默许了一个xsl文件来格局化输入。
  2、誊写日记的办法
纪录日记的程序
塞北的雪
日期:2004.11.20
username:用户信息(标示举行该操纵的职员)
operate:操纵(标示用户举行了甚么操纵)
userip:用户IP(标示用户用于登录体系的盘算机的IP地点)
opdate:用户操纵产生的日期
日记写进一个xml文件,第一次写进时假如xml文件不存在,则创立。
前往值:1暗示翻开日记文件时堕落
前往值:9暗示准确完成写进日记文件


functionWriteSysLog(sys_userid,sys_username,operate)
dimop_username
iftrim(sys_userid)=""andtrim(sys_username)=""then
op_username="匿名"
else
op_username=sys_userid&"/"&sys_username
endif

xmlPath="/"&getRoot()&"/log/SysLog/"
xmlFile=replace(cstr(ConvertDate(date())),"-","_")&".xml"
RootNode="syslog"日记文件根节点名字
LogFile=server.mappath(xmlPath&xmlFile)日记文件路径
setfso=server.CreateObject("scripting.filesystemobject")

假如日记文件不存在,就创立一个,并写进头信息和根信息
ifnotfso.FileExists(LogFile)then
fso.CreateTextFileLogFile
setfff=fso.GetFile(LogFile)
setmmm=fff.openastextstream(2)
mmm.write"<?xmlversion=""1.0""encoding=""gb2312""?>"&vbcrlf&"<?xml-stylesheettype=text/xslhref=../logInfo.xsl?>"&vbcrlf&"<"&rootnode&"></"&rootnode&">"
setmmm=nothing
setfff=nothing
endif
setfso=nothing

Setxd=Server.CreateObject("msxml2.domdocument")
xd.async=false
xd.load(LogFile)
ifxd.parseError.errorcode0then
WriteSysLog=1翻开日记文件堕落
exitfunction
endif

创立新节点信息

setet=xd.documentElement



setcnode=xd.createElement("log")
et.appendchild(cnode)

setnode2=xd.createElement("username")
node2.text=op_username
cnode.appendchild(node2)
setnode2=xd.createElement("operate")
node2.text=operate
cnode.appendchild(node2)
setnode2=xd.createElement("userip")
node2.text=Request.ServerVariables("Remote_Addr")
cnode.appendchild(node2)
setnode2=xd.createElement("opdate")
node2.text=cstr(now())
cnode.appendchild(node2)
xd.saveLogFile写进日记文件

setcnode=nothing
setnode2=nothing
setxd=nothing
writeSysLog=9申明一般写进了日记信息
endfunction

取得以后假造目次的名字
functiongetRoot()
url=Request.ServerVariables("URL")
url=right(url,len(url)-1)
getRoot=mid(url,1,instr(url,"/")-1)
endfunction

将一个一名的数字后面加零
functionFillZero(str)
ttt=str
iflen(str)=1then
ttt="0"&str
endif
FillZero=ttt
endfunction
转化日期,将一名补上零2003-1-2-->2003-01-02
functionConvertDate(tDate)
ttt=tDate
ifisdate(tDate)then
ttt=year(tDate)&"-"&FillZero(month(tDate))&"-"&FillZero(day(tDate))
endif
ConvertDate=ttt
endfunction
  3、用户格局化的xsl文件:
<?xmlversion="1.0"?>
<xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:msxsl="urn:schemas-microsoft-com:xslt"xmlns:user="http://www.cccar.com.cn/"
exclude-result-prefixes="msxsluser">
<!--localizedstrings-->
<xsl:variablename=ColumnHeader_UserName>用户</xsl:variable>
<xsl:variablename=ColumnHeader_Time>工夫</xsl:variable>
<xsl:variablename=ColumnHeader_Operate>操纵</xsl:variable>
<xsl:variablename=ColumnHeader_Address>IP地点</xsl:variable>
<!--variables-->
<xsl:variablename=TableStyle>background-color:#DAE6D8;font-family:Simsun,Verdana;font-size:75%;text-align:left;vertical-align:top</xsl:variable>
<xsl:variablename=HeaderStyle>background:a0b0a8;color:#000000;border-bottom:1solidblack;border-top:1solidblack</xsl:variable>
<msxsl:scriptlanguage="javascript"implements-prefix="user">
functionxmlDateTime(nodelist){
returnDate.parse(nodelist.replace(/-/g,"/"));
}
</msxsl:script>
<xsl:outputomit-xml-declaration="yes"/>
<xsl:templatematch="syslog">
<html>
<head>
<title>
日记检察
</title>
</head>
<bodystyle=margin:10;background-color:#DAE6D8>
<divalign="center">
<tablestyle="{$TableStyle}"width="100%"align="center"cellspacing=0>

<thead>
<trheight="23">

<thwidth="15%"style="{$HeaderStyle}">
<xsl:value-ofselect="$ColumnHeader_UserName"/>
</th>
<thwidth="20%"style="{$HeaderStyle}">
<xsl:value-ofselect="$ColumnHeader_Time"/>
</th>
<thwidth="50%"style="{$HeaderStyle}">
<xsl:value-ofselect="$ColumnHeader_Operate"/>
</th>
<thwidth="15%"style="{$HeaderStyle}">
<xsl:value-ofselect="$ColumnHeader_Address"/>
</th>
</tr>
</thead>

<tbodystyle=vertical-align:top>
<tr><tdcolspan="4"height="5"></td></tr>
<xsl:for-eachselect="log">
<xsl:sortorder=ascendingselect="user:xmlDateTime(string(opdate))"data-type="number"/>

<trheight="23">

<tdvalign="bottom"><xsl:value-ofselect="username"/></td>
<tdvalign="bottom"><xsl:value-ofselect="opdate"/></td>
<tdvalign="bottom"><xsl:value-ofselect="operate"/></td>
<tdvalign="bottom"><xsl:value-ofselect="userip"/></td>
</tr>
<trbgcolor="#999999"><tdcolspan="4"height="1"></td></tr>
</xsl:for-each>

<tr><tdcolspan="4"align="right">算计:<xsl:value-ofselect="count(log)"/>条 </td></tr>
</tbody>
</table>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。

透明 发表于 2015-1-19 05:13:02

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

变相怪杰 发表于 2015-1-24 13:56:32

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

小女巫 发表于 2015-2-1 16:23:31

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

爱飞 发表于 2015-2-7 08:47:35

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

老尸 发表于 2015-2-21 11:27:53

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

仓酷云 发表于 2015-3-6 20:16:35

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

愤怒的大鸟 发表于 2015-3-13 08:08:38

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

蒙在股里 发表于 2015-3-20 17:15:20

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
页: [1]
查看完整版本: ASP编程:ASP写的日记处置办法 (XML)