dvHTMLEncode()函数是笔者从ubbcode中提取的用于处理特殊字符串的函数。它能把尖括号之类的字符替换成HTML特殊字符集中的字符。
if isnull(fString) or trim(fString)="" then
dvHTMLEncode=""
exit function
end if
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(9), " ")
fString = Replace(fString, CHR(34), """)
fString = Replace(fString, CHR(39), "'")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
fString = Replace(fString, CHR(10), "<BR> ")
dvHTMLEncode = fString
end function
……
<%=rs("body")%>
如下修改代码即可避免跨站漏洞:
<%=dvHTMLEncode( rs("name") )%>
……
<%= dvHTMLEncode( rs("body") )%>
