ASP中最常用到的转义字符有:<(<), >(>), "("), '('), etc.
编码说明如下:
Form表单数据入库之前,应注意的主要是'(单引号),因为一般的SQL语句中是用单引号界
定字符串的,如果收集来的字符串中的单引号不做处理,容易造成SQL语法错误。
处理方法是,编写统一的处理函数,将一个单引号替换成两个连续的单引号即可,如
function formatText( ByVal theText )
theText = Replace(theText,"'","''")
formatText = theText
end function
从数据库读出数据时,特别注意的是",<,>等的处理,分别说明如下:
双引号的处理在以下情况会用到,
<%event_desc = rs("event_desc")%>
<input type="text" name="event_desc" value="<%=event_desc%>">
如果rs("event_desc")的值是abc"test"123,上面的语句最终将是这样,
<input type="text" name="event_desc" value="abc"test"123">,在IE中看一下,我
想错误之处是明显的,为避免次情况出现建议将上面第一条语句改为如下,
<%event_desc = replace(rs("event_desc"),"""",""")%>
当然,如果输出语句是下面的情况,则同时需要处理单引号。
<%
event_desc = rs("event_desc")
response.write "<input type='text' name='event_desc'" value='" & event_desc & "'>"
%>
“<>”需要处理,我想就更不用多说了吧,否则轻则网页格式混乱,重则会中了恶意代码的圈套。
其实,一般只要处理了"<"就可以了,少了"<",HTML标签中的">"自然就不起作用了。处理方法,除
了用Server.HTMLEncode()之外,如果还想使自动加上的<BR>等标签有用时,可以采用数据入库时先
转换<,后加如<BR>的方式。