随笔 - 11  文章 - 2  trackbacks - 0
<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(1)

随笔档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜

第二步:鉴别特殊的字符
  什么是特殊字符?HTML定义如下:特殊字符就是那些能够影响页面显示效果的字符。依据上下文的不同,特殊字符也会有所不同。下面我们来分类看看:

● 在块级别元素所包含的内容中应考虑的特殊字符有:

<:引入一个标记

&:引入一个字符实体

>:结束一个标记

● 在属性值中应考虑的特殊字符有:

":在以双引号包裹属性值的情况下,"标记了属性值的结尾。

':在以单引号包裹属性值的情况下,'标记了属性值的结尾。

空白字符:在属性值没有被任何引号包裹的情况下,空白字符标记了属性值的结尾,比如空格、tab。

&:当需要在属性值中引入字符实体时,就需要使用&。

● 搜索引擎系统会在搜索结果页面中包含一个再次运行搜索的链接,这个链接中会包含编码过的搜索查询字符串。这种情况下应考虑的特殊字符有:

空格、tab以及换行符:它们标记了URL的结尾。

&:它标记一个字符实体,或者一个独立的CGI参数。

非ASCII字符:就是ISO-8859-1编码中ASCII码大于128的字符,它们不允许在URL中使用。

%:无论服务器对由escape编码的HTTP参数如何解码,都必须过滤出字符%。

● 在 之间的内容中应考虑的特殊字符有:分号,圆括号,大括号以及换行符。

● 在服务器端脚本中应考虑的特殊字符有:!

● 其他情况下应考虑的特殊字符有:=。但注意,现有的攻击事件还没有利用过这个字符,但作为一个全面考虑,这里还是列出来。

  另外,我们还要重视一种情况:其他附加字符也可能包含在特殊字符列表中。总之,Web开发者必须对应用程序的输入内容进行检查,以确定哪些字符会影响程序的执行。
该文章转载自1024k:http://www.1024k.cn/web/2007/200701/15408.html

posted on 2007-07-18 18:49 jacksontoto 阅读(202) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: