Drupal 防止Filterxs剥离facebook名称空间标记

Drupal 防止Filterxs剥离facebook名称空间标记,drupal,drupal-6,Drupal,Drupal 6,我的一个模块使用filterxss来去除标签,我已经将“fb:profile pic”设置为允许的标签。但是,filterxss不允许任何带有名称空间(以及冒号)的标记 这有什么办法吗?或者这是filter_xss中的一个错误,没有正确识别冒号作为标记名的一部分?所以这不是一个完美的“答案”,但我通过(喘息!)修补核心解决了这个问题。在模块/filter/filter.module的第1059行: if (!preg_match('%^(?:<\s*(/\s*)?([a-zA-Z0-9:-

我的一个模块使用
filterxss
来去除标签,我已经将“fb:profile pic”设置为允许的标签。但是,filterxss不允许任何带有名称空间(以及冒号)的标记

这有什么办法吗?或者这是filter_xss中的一个错误,没有正确识别冒号作为标记名的一部分?

所以这不是一个完美的“答案”,但我通过(喘息!)修补核心解决了这个问题。在模块/filter/filter.module的第1059行:

if (!preg_match('%^(?:<\s*(/\s*)?([a-zA-Z0-9:-]+)([^>]*)>?|(<!--.*?-->))$%', $string, $matches)) {
                                            ^^
                                            Added colon and hypen here.
if(!preg_match('%^(?::]*)>?|())$%',$string,$matches)){
^^
在这里添加了冒号和催眠。
我在标签中添加了冒号和hypens作为允许的字符,以及“a-zA-Z0-9”。现在只需记住在所有核心更新之后应用此修补程序。

所以这不是一个完美的“答案”,但我通过(喘息!)修补核心解决了问题。在modules/filter/filter.module中,第1059行:

if (!preg_match('%^(?:<\s*(/\s*)?([a-zA-Z0-9:-]+)([^>]*)>?|(<!--.*?-->))$%', $string, $matches)) {
                                            ^^
                                            Added colon and hypen here.
if(!preg_match('%^(?::]*)>?|())$%',$string,$matches)){
^^
在这里添加了冒号和催眠。

我在标签中添加了冒号和hypens作为允许的字符,以及“a-zA-Z0-9”。现在只需记住在所有核心更新之后应用此修补程序。

我担心,2011年11月报道。看起来它目前尚未分配,因此没有关于何时/是否修复的提示:(刚刚注意到你可能已经对这篇文章发表了评论,如果你看一下,你会发现它们是相同的,所以问题仍然存在于Drupal 6Tanks Clive中。我现在必须进行黑客破解。恐怕,2011年11月报道。看起来它目前尚未分配,因此没有关于何时/是否修复的提示:(刚刚注意到你可能已经对这篇文章发表了评论,如果你看的话,你会发现它们是相同的,所以这个问题在Drupal 6Tanks Clive中仍然存在。我现在必须进行黑客破解。