我如何纺织和消毒HTML?

现在我遇到了一些愚蠢的情况.我希望用户能够使用纺织品,但他们不应该在他们的条目周围乱用我的有效HTML.所以我必须以某种方式逃避HTML.

> html_escape(textilize(“< / body> Foo”))会破坏纺织品
> textilize(html_escape(“< / body> Foo”))可以工作,但会打破各种纺织品功能,如链接(写作“Linkname”:http://www.wheretogo.com/),因为引号会被转换进入& quot;因此不再被纺织品检测到.
>消毒不会做得更好.

有关那个的任何建议吗?我宁愿不使用Tidy来解决这个问题.
提前致谢.

解决方法

对于那些遇到同样问题的人:如果您正在使用RedCloth gem,您可以定义自己的方法(在您的一个帮助程序中).
def safe_textilize( s )
  if s && s.respond_to?(:to_s)
    doc = RedCloth.new( s.to_s )
    doc.filter_html = true
    doc.to_html
  end
end

摘自文档:

Accessors for setting security restrictions.

This is a nice thing if you‘re using RedCloth for formatting in
public places (e.g. Wikis) where you don‘t want users to abuse HTML for bad things.

If filter_html is set,HTML which wasn‘t created by the Textile processor will be
escaped. Alternatively,if sanitize_html is set,HTML can pass through the Textile processor but unauthorized tags and attributes will be removed.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


html5中section的用法
span标签和p标签的区别
jsp文件和html文件的区别是什么
span标签和div的区别
html颜色代码表大全
span标签的作用是什么
dhtml的主要组成部分包括什么
html编辑器哪个软件好用
span标签属于什么样式标签
html文件乱码怎么办
html怎么读取json文件
html文件打开乱码怎么恢复原状
html怎么链接外部css
html文件怎么保存到本地
html怎么链接css文件
html和css怎么连接
html和css怎么关联
html文件怎么保存到一个站点
html文件怎么写
html出现乱码怎么解决