我有一个表单,用户输入HTML(BB或类似的解决方案不会做,我没有控制权)。
现在我需要确保所有标签都已关闭,因此它不会杀死我页面的html布局
我想到的最简单的解决方案是仅显示我在iFrame中从用户处获得的snipet
有没有更好的方法?
(同样,我对该特定输入有没有控制权以及如何获得它。)
答案 0 :(得分:0)
我个人会检查并仅允许某些标签(例如“< B>”或“< I>”作为示例)。如果您想允许所有html,您可以使用客户端工具,例如“https://code.google.com/p/jquery-clean/”。我不确定您使用的是哪种服务器端技术,但您也希望在那里进行清洁/消毒。
除了检查布局是否正确 - 如果html来自不受信任的来源 - 您将需要观看脚本标记以防止XSS或其他安全风险。有关详细信息,请参阅此页面(http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer)。我知道这不是确切的问题,但检查是非常重要的。