|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
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商提供垂直型的应用服务,针对某一特定行业提供应用服务。 |
|