2016-06-14 71 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