Tag: 消毒

Rails 5白名单css属性为sanitize帮助

我需要允许内联”style=position: absolute;” 由sanitize(post.content)输出sanitize(post.content) 。 我找到了Rails 4的文档说 config.action_view.sanitized_allowed_css_properties = [‘position’] 在application.rb中会添加属性到白名单,但是我找不到文档是否仍然是Rails 5的情况,并且它在多次重启服务器后似乎没有工作。 有没有办法轻松添加白名单css属性? 这个Rails 4的答案暗示了一个猴子补丁,但我不知道在哪里或如何这样做。 更新:安装gem rails-deprecated_sanitized允许上面的配置行工作,因此看起来不推荐使用sanitized_allowed_css_properties。 当然有一种方法可以在Rails 5中做到这一点? 我不能回到4,我需要将内联样式位置列入白名单,以便让第三方插件工作(CKEditor + Iframely)

Rails 4:使用内置HTML清理时禁用自动CSS清理

我正在构建一个具有HTML GUI界面的应用程序,用于在容器div创建,移动和编辑框( div )。 编辑时,这些框被分配内联样式,这些内联样式将保存到数据库并在视图中输出: 我想清理HTML本身,以避免有人黑客攻击,例如,脚本标记,通过编辑保存框时发送到服务器的内容来发送。 Rails 4有一个通过ActionView :: Helpers :: SanitizeHelper类提供的辅助方法sanitize 。 当我使用包含恶意标记的测试content值时,脚本会被删除。 但是,对内容进行清理还会删除样式标记内的框架所必需的 CSS属性,例如top , left , position等。 在链接文档中,声明sanitize会在遇到样式属性时自动使用函数sanitize_css : sanitize_css(风格) 清理一块CSS代码。 当它遇到样式属性时由sanitize使用。 我不希望这种sanitize行为。 如何使用sanitize_css禁用清理,以清理HTML,而不是CSS?

Sanitize vimeo嵌入代码

这是vimeourl代码。 Queueing – One in a Dozen from sideshow bob on Vimeo. 以下是Rails文档中的示例 %w(table tr td), :attributes => %w(id class styles) %> 我想只显示video,没有高度,宽度,标题等。我尝试修改它过去20分钟,但无法让它工作。 有什么建议?

在Rails控制器中使用清理

我试图在控制器中调用sanitize 。 这是我尝试过的: class FooController < ApplicationController include ActionView::Helpers::SanitizeHelper # … end 但是,我收到此错误: undefined method `white_list_sanitizer’ for FooController:Class 我四处搜索,人们建议切换include行以包含ActionView::Helpers ,但这会导致此错误: undefined method `url_for’ for nil:NilClass 呼叫sanitize的正确方法是什么? 我正在使用Rails 2.3.5。

以纯文本格式转义非HTML标记(将纯文本转换为HTML)

使用Rails,我需要获得纯文本并将其显示为HTML,但我不想使用 标记,因为它会更改格式。

在Ruby中形成卫生shell命令或系统调用

我正在构建一个可以帮助我管理服务器的守护进程。 Webmin运行良好,就像打开服务器的shell一样,但我更喜欢能够从我设计的UI控制服务器操作,并向最终用户公开一些function。 守护程序将从队列中获取操作并执行它们。 但是,由于我将接受用户的输入,我想确保他们不被允许在特权shell命令中注入危险的东西。 这是一个例证我问题的片段: def perform system “usermod -p #{@options[‘shadow’]} #{@options[‘username’]}” end 一个解释更多的要点: https : //gist.github.com/773292 如果对这种情况进行典型的输入和消毒输入就足够了,我并不乐观,作为一名设计师,我没有大量与安全相关的经验。 我知道这对我来说应该是显而易见的 ,但事实并非如此! 如何确保将创建和序列化操作的Web应用程序无法将危险文本传递到接收操作的特权进程? 谢谢您的帮助 ARB