我有困難的時候試圖瞭解如何做以下事情:構建自定義條件動態地設置參數和運營商
我有一個JavaScript,可以幫助我dinamically建立一個過濾查詢,然後對其進行編碼併發送作爲鐵軌的參數。
過濾器是建立在這樣:myfilter = {"field": "birth_date", "comparison": "lt", "type": "date", "value": "2012-05-27"}}
所以我建,我的查找方法,條件散列動態設置。 最大的問題是,在這種情況下,即使通過查詢的字段名稱,我也可以進行SQL注入。你建議如何建立我的查找方法?
我願做這樣的事情:
Client.where("? ? ?",myfilter['field'],myfield['comparison'].to_operator,myfield['value'])
但這是無效的。 我該如何實現這個保持我的查詢消毒?
其實你只是在描述過濾器。根據表格元數據清理列名,針對某個列表對操作員進行清理(或者通過例如枚舉進行傳遞),然後照常進行處理。 –
如果你把它作爲答案發布,我可以標記它,我確實按照你的建議做了 –