怎样防止表单的文本框中贴网页代码……
如何防止在网页的输入表单中的多行文本框中贴上一段可执行的asp、html代码。ASP可以做的到吗?高手们帮帮忙,不胜感激!分数不够可以再加。 问题点数:50、回复次数:6Top
1 楼cmsoft(韦小宝是我的老乡)(草根在路上)回复于 2002-05-27 11:39:56 得分 20
写个函数
function HTMLEncode(fString)
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, CHR(10), "<BR>")
HTMLEncode = fString
end function
function UnHTMLEncode(fString)
fString = replace(fString, ">",">")
fString = replace(fString, "<","<")
fString = Replace(fString, """,chr(34))
fString = Replace(fString, "&","&")
fString = Replace(fString, "",CHR(13))
fString = Replace(fString," "," ")
'fString = Replace(fString, "</p><p>",CHR(10) & CHR(10))
'fString = Replace(fString, "</P><P>",chr(10) & chr(10))
'fString = Replace(fString, "</p><P>",chr(10) & chr(10))
'fString = Replace(fString, "</P><p>",chr(10) & chr(10))
fString = Replace(fString, "<BR>","")
fString = Replace(fstring,"<br>","")
UnHTMLEncode = fString
end function
Top
2 楼misiren(夜斓)回复于 2002-05-27 12:14:03 得分 3
好象是可以用HTMICODE实现的吧,不过我没试过,你试试看Top
3 楼misiren(夜斓)回复于 2002-05-27 12:14:52 得分 0
刚才打错了个字,好象是可以用htmlcode实现的吧,不过我没试过,你试试看Top
4 楼freezwy(网络自由人)回复于 2002-05-27 12:31:39 得分 20
过滤函数如下:
<%
function htmlencode2(str)
dim result
dim l
if isNULL(str) then
htmlencode2=""
exit function
end if
l=len(str)
result=""
dim i
for i = 1 to l
select case mid(str,i,1)
case chr(13)
result=result+"<br>"
case chr(34)
result=result+"""
case chr(32)
'result=result+" "
if i+1<=l and i-1>0 then
if mid(str,i+1,1)=chr(32) or mid(str,i+1,1)=chr(9) or mid(str,i-1,1)=chr(32) or mid(str,i-1,1)=chr(9) then
result=result+" "
else
result=result+" "
end if
else
result=result+" "
end if
case chr(9)
result=result+" "
case else
result=result+mid(str,i,1)
end select
next
htmlencode2=result
end function
%>
调用xx=htmlencode2(request.form("xx"))Top
5 楼Lostinet(Hello)回复于 2002-05-27 12:36:43 得分 4
这个思想是错误的。
作为一个基本的ASP程序员,
要做到把别人输入的按原格式输出,
并不是困难的事情。
只是要处理HTML的编码问题。利用HTML的编码原则来做。
而
所谓的,防止、屏蔽、过滤,都是错误的思想。
Top
6 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2002-05-27 12:56:54 得分 3
用HtmlenCode(string),这样string就算是可执行的asp、html代码也不会被执行Top




