2010-03-24 98 views
0

如果我有要发布的xml/html数据,我们需要对数据进行编码以避免XSS验证。所以我们应该为此使用HTMLencode或URI编码。URI编码和HTML编码

如果使用URI编码,会导致问题,因为表单POST会自动在发送前对所有数据进行URI编码。

回答

1

XSS是由于向客户端提供污染数据而导致的问题。在发布数据时无法解决。

为了防止这种情况发生,HTML在将数据放入HTML文档之前立即进行编码。

+0

谢谢大卫,那么uri编码呢?可以用它代替HTML编码吗?我的意思是uri编码数据,然后放在窗体隐藏元素和服务器端解码? – 2010-03-24 08:08:56

+0

这只是让人难以阅读。使用HTML编码将东西放入HTML中。 – Quentin 2010-03-24 11:26:13

1

记住:过滤器输入,转义输出

  1. 将其放置在一个数据库中之前,始终过滤输入(以避免SQL注入等)
  2. 逃逸输出通过滤波/它发送到客户机的动态内容编码任何HTML之前。
+0

嗯 - 为了避免SQL注入,您可以为数据库转义数据。 – Quentin 2010-03-24 07:34:48

+0

@David:是的。你想说什么?我应该说“逃生输入,逃生输出”,而不是? – 2010-03-24 08:52:53

+0

过滤器(特别是当你把它放在转义旁边)建议从数据中删除东西,而不是用安全等价物替换它们。例如,您可以使用筛选来阻止将垃圾邮件插入到数据库中。 – Quentin 2010-03-24 11:28:05