2011-01-23 80 views
0

我有,我想在我的Rails应用程序使用一些“命名空间”自定义标签(与半径宝石开发)。我想用sanitize gem来防止xss攻击,但是没有描述如何在sanitize中配置命名空间。有没有可能的方法?sanitize方法和命名空间

回答

1

的宝石的sanitize不支持命名空间。简言之看着用于消毒代码,无论是变换类,其清洁元件,也不它实际上解析HTML给出引入nokogiri(XML解析器底层的sanitize)它需要能够识别和处理的命名空间中的信息),该方式,以便在不修改消毒到支持这一点,这是不可能的。

您可以在没有使用前缀名称空间的情况下查看标签,因此如果它们都具有不与其他标签冲突的自定义名称,则可以指定这些标签,但可以按照当前的方式进行清理写,你不能过滤命名空间专用标签。

0

据我知道的sanitize宝石只是过滤器的JavaScript和HTML从控制器PARAMS。自从我上次看了以后,它可能已经延长了

不,你不能命名空间最宝石。有一些黑客可以用猴子修补在他们周围放置包装。如果需要的话我会谷歌“红宝石命名空间冲突”,你会得到这样的事情How to resolve Rails model namespace collision

+0

我想你不理解我。真的 - sanitize用于过滤rails应用程序中的输入文本(从视图到控制器),但不幸的是 - 没有办法使用自定义标记,如 2011-01-25 19:47:21