2016-06-14 85 views
1

sanitize在Rails中的含义是什么?Rails中的`sanitize`是什么?

我正在阅读CanCanCan的文档。它说:

当使用strong_parameters或者Rails 4+,你必须保存记录之前,消毒投入 ,在操作,例如:创建和:更新。

然后每个文档,它需要添加以下:

load_and_authorize_resource param_method: :my_sanitizer 

def my_sanitizer 
    params.require(:article).permit(:name) 
end 

来源:https://github.com/CanCanCommunity/cancancan

我也是在SQL查询的区域看到sanitize

sanitize究竟是什么意思。这是否意味着允许某些东西?

+1

消毒净化剂什么使它卫生在这里为您的应用程序。因此,您的应用程序不会保存可能导致严重问题(如黑客攻击或应用程序损坏)的不需要的数据。在这里检查文档:http://guides.rubyonrails.org/security.html和这里:http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize – Abhinay

+1

此外,尽量避免SO的主观问题。理想情况下,你应该问一个与你的代码有关的问题,因为你已经知道了这一点。干杯!! – Abhinay

回答

1

SanitizeHelper模块提供了一套用于清理不需要的HTML元素的文本的方法。这些辅助方法扩展了Action View,使它们在模板文件中可调用。

data = data.html_safe只会标记列data as 'html_safe'和对待它之后(标记的字符串作为值得信赖的安全,它会被插入到HTML与逃逸进行任何额外的,这是你的责任,以确保该字符串不包含恶意内容。这个方法相当于视图中的原始助手,建议您使用sanitize而不是此方法,但不应在用户输入时调用它)。

看一看官方的API文档 action view sanitize helper