我有複雜的SQL查詢。我需要安全地將參數傳遞給SQL查詢。如何避免sql注入而不使用activerecord?我應該在哪裏保留SQL模型/控制器?有沒有人知道不使用主動記錄的SQL服務器的良好做法?Ruby On Rails,SQL和SQL參數
1
A
回答
0
當你繞過ActiveRecord你幾乎不得不手動做所有事情。我假設你有充分的理由這樣做。
ActiveRecord::Base有以下方法:sanitize_sql_for_assignments(用於設置)和sanitize_sql_for_conditions(用於select)。還有一些其他的sanitize_sql_ *可能也值得一看。兩者都接受一個散列(使用鍵作爲列名)或一個字符串。
我可能會錯,但爲了抓取記錄並跳過ActiveRecord,我認爲您使用了ActiveRecord :: Base.connection.execute(sql),它應該從數據庫連接器返回對象。檢查連接器的文檔以查看返回的內容以及如何使用它。
至於最佳做法,抱歉,我無法幫到你:-)
0
ActiveRecord具有sanitize_sql
功能。 你可以檢查這個方法的source code。
相關問題
- 1. SQL文件和Ruby on Rails
- 2. Ruby on Rails和MS SQL EXPRESS
- 3. Ruby on Rails範圍與參數和SQL在Rails 4
- 4. Ruby on Rails與sql server
- 5. Ruby on Rails/SQL Server datetime
- 6. Ruby on Rails,SQL Server查詢
- 7. Ruby on Rails + Sql Server 2005
- 8. SQL查詢Ruby On Rails
- 9. SQL/Ruby on Rails項目
- 10. Ruby on Rails的SQL優化
- 11. Ruby on Rails SQL日誌
- 12. Ruby on Rails - SQL查詢計數
- 13. Ruby和Rails或Ruby on Rails
- 14. Ruby on rails轉換爲sql查詢
- 15. ruby on rails does update_attributes防止sql注入?
- 16. Ruby on rails - SQL方法的地方
- 17. Ruby on Rails的 - 動態SQL查詢
- 18. SQL Ruby的JOIN相當於on Rails的
- 19. ruby on rails sql語句錯誤
- 20. Ruby on Rails的2.3 SQL LIKE查詢
- 21. Ruby on Rails訪問SQL Server視圖
- 22. Ruby on Rails與Sql Express 2005連接
- 23. 將SQL查詢轉換爲Ruby on Rails
- 24. Ruby on Rails 3:增量值使用sql
- 25. Ruby on Rails的/ SQL查詢與
- 26. Ruby on Rails的:執行SQL DATE_ADD()函數和IF條件
- 27. 學習Ruby和Ruby on Rails
- 28. Ruby on Rails修改參考
- 29. Ruby on Rails和CruiseControl.rb
- 30. Ruby on Rails和MongoDB