我曾在最后2天大规模杀伤性武器和降价 ,我不找股票数据安全解决方案。 我希望用户能够在我的网站上发布HTML / XML的<code>(与大规模杀伤性武器)。
就目前而言,我的股票在Markdown格式的数据,但如果我禁用JavaScript的用户可以很容易地推XSS。 如果我strip_tags
或html_entities
所有数据I失去用户HTML / XML <代码>。 我该怎么做?
在我看来,我必须html_entities
只是预/预,但如何之间的代码? 我的数据是在降价。
之后,我能做些什么来阻止XSS属性:
<img src="javascript:alert('xss');" />
“清洁”你的HTML,你可以使用这样的工具HTML Purifier
基本上,它允许你指定哪个标签/属性是允许的,一个只保留那些。
它也能产生有效的(X)HTML代码输出中 - 这是很好的。
您可以在上看到的演示页有是几乎完全贴你,顺便说一句的XSS例子;-)
举例来说,你可以像这样的一些HTML尝试:
test <img src="javascript:evil();" onload="evil();" />
test <img src="http://www.google.com/a.Png" /> test2
输出是:
test test <img src="http://www.google.com/a.Png" alt="a.Png" /> test2
在img
与XSS标签未保持; 另一种具有; 并有过的alt
属性添加,是符合标准的。
它可能不是解决所有的问题,但如果你给用户的方法可行输入HTML,它是有用的definitly(敢跟我说:“这是一个必须具备的”?)