1
此刻,我的代碼看起來是這樣的:如何消毒的寶石用戶輸入行爲-AS-加標籤上,Ruby on Rails的
@events = Event.tagged_with(params[:search_input])
但是這樣的查詢允許SQL-注射和應避免。
Rubyonrails.org告訴我們,如何避免這種攻擊(http://guides.rubyonrails.org/security.html#sql-injection)
例如,使用questionmarks:
Model.where("login = ? AND password = ?", entered_user_name, entered_password).first
不過,我不知道,如何消毒用戶輸入這顆寶石。我試過如下:
@events = Event.tagged_with("?", "%#{params[:search_input]}%")
但是這會導致以下錯誤:
TypeError (no implicit conversion of Symbol into String):
任何想法,如何來淨化這個輸入?提前致謝!
我在寶石的回購中發現了以下問題:https://github.com/mbleigh/acts-as-taggable-on/issues/670您是否同意或不同意? – Mauddev
這個問題似乎不同於這個問題。這個問題詢問如何進行消毒以用於SQL(ActiveRecord)。您鏈接的問題詢問如何確保解析標籤正確地出現,並且給出的建議是使用默認解析器。這些真的是不同的擔憂。 –