簡體   English   中英

如何在 Rails 2.3.x 中創建時清理 object?

[英]How to sanitize an object on create in Rails 2.3.x?

在我的搜索中,我主要找到了在輸出或清理單個輸入框時清理數據的方法:

<%=h @name %> OR ['name = ?', params[:name]]

但是,我正在創建一個 object,如下所示:

@user = User.new( params[:user] )

現在,我可以一個一個地清理 params[:user] hash 中的每個鍵,但我確信有一種更優雅的技術。

如果這是出於優化原因,請使用“ Sanitize ” gem。 但是,由於您談論為每個領域都這樣做,所以這里有些不對勁。 ActiveRecord 已經轉義輸入以避免 SQL 注入問題,但是您不需要對進入數據庫的每一件事進行 HTML 轉義(如果您想以某種方式處理原始數據,這樣做可能會導致以后出現問題)。 出於性能原因,在將 go 放入數據庫之前,您可能需要清理的唯一內容是富文本編輯器輸入字段,例如來自 TinyMCE 的數據,您實際上想要根據白名單過濾數據,而不是只需通過簡單的字符串轉換將其轉義即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM