Phương pháp tốt trong Ruby để ngăn chặn SQL Injection là gì?Ngăn chặn phương pháp SQL Injection/Good Ruby
Trả lời
trong thẳng lên ruby? sử dụng chuẩn bị phát biểu:
require 'mysql'
db = Mysql.new('localhost', 'user', 'password', 'database')
statement = db.prepare "SELECT * FROM table WHERE field = ?"
statement.execute 'value'
statement.fetch
statement.close
Vấn đề của tôi với điều này là nó trả về một mảng kết quả trái ngược với một trường hoặc một cái gì đó dễ quản lý hơn ..... – Zombies
Đây chỉ là một ví dụ về cách sử dụng câu lệnh đã chuẩn bị cho truy vấn chọn. Những gì bạn làm với kết quả là tùy thuộc vào bạn. –
Không chỉ trong Ruby - ràng buộc các tham số của bạn (có thể là trong cơ sở dữ liệu, hoặc trong mã máy khách của bạn).
Kiểm tra hướng dẫn họ có lên trên này: http://guides.rubyonrails.org/security.html#injection
Về cơ bản, bạn muốn sử dụng các biến ràng buộc trong các mô hình của bạn để tìm dữ liệu, chứ không phải là thông số inline ..
Model.find(:first, :conditions => ["login = ? AND password = ?", entered_user_name, entered_password])
Có, điều này có vẻ tốt. Khá nhiều những gì tôi đã quen với Java, cảm ơn. – Zombies
Bạn nên ít nhất đề cập đến rằng bạn đang nói về hồ sơ hoạt động. – sepp2k
Tôi vừa mới bình luận về điều này .. trong sự vội vàng của tôi, tôi quên đọc rằng nó không dành riêng cho Rails/ActiveRecord .. xin lỗi về điều đó! –
Theo http://ruby.railstutorial.org/ bạn có thể ngăn Site Chữ thập Yêu cầu giả mạo bằng cách chèn thẻ
<%= csrf_meta_tags %>
trong tiêu đề của app/views/layouts/application.html.erb.
Ý tưởng tốt cho những người làm việc với các khung công tác web, nhưng SQL Inejection! = XSS – Zombies
chủ đề này tham khảo:
http://www.ruby-forum.com/topic/90258#new
http://www.ruby-forum.com/topic/82349#143790
tìm ActiveRecord() của phương pháp đã được xây dựng trong những cách để tránh SQL injection bởi sử dụng định dạng
Có bất kỳ hệ thống như vậy để thoát thuốc tiêm theo thứ tự không? Có vẻ như chỉ lấy một chuỗi và đưa nó vào câu lệnh SQL. Điều này gây ra một lỗ hổng khi sử dụng params để thiết lập: trật tự như trong chức năng này:
def list
sort_by = params[:sort_by]
@book_pages, @books = paginate :books,
:order => sort_by,
:per_page => 10
end
Chúng tôi đã thử một vài phương pháp để khử trùng sort_by như trật tự => [ '?', sort_by] nhưng nó chỉ chuyển cho câu lệnh SQL như một mảng phẳng. 'Phép thuật thoát' không hoạt động cho trật tự. Tôi có nên sử dụng gsub không! để khử trùng params [: sort_by]?
- 1. Ngăn chặn ruby trên đường ray 3 từ phân tích cú pháp bài đăng JSON
- 2. PHP MySQLI Ngăn chặn SQL Injection
- 3. Delphi - ngăn chặn việc tiêm SQL
- 4. phương pháp ruby sort_by
- 5. LINQ-To-SQL ngăn chặn SQL-Injection như thế nào?
- 6. Phương pháp đánh chặn theo phương pháp riêng
- 7. Ruby mixins và gọi siêu phương pháp
- 8. [] phương pháp của Ruby Chuỗi
- 9. Hiểu phương pháp Ruby #call
- 10. của Ruby phương pháp class_eval
- 11. Phương pháp lớp Ruby so với phương pháp trong Eigenclasses
- 12. Ngăn chặn cảnh báo cụ thể trong Ruby
- 13. Làm thế nào để ngăn chặn SQL Injection trong hibernate?
- 14. Các phương pháp hay nhất để ngăn chặn CSS và JavaScript cũ
- 15. iOS5: Làm thế nào để ngăn chặn ngoại lệ cho phương pháp rectForRowAtIndexPath
- 16. Làm thế nào để ngăn chặn python pylint phàn nàn về phương pháp sendall lớp socket
- 17. Các phương pháp hay nhất để ngăn chặn tấn công từ chối dịch vụ ở Django
- 18. Ngăn chặn phương pháp MVC Action thực hiện nếu tham số là null
- 19. Ngăn chặn instantiation của một đối tượng bên ngoài phương pháp nhà máy
- 20. Làm thế nào để ngăn chặn một phương pháp từ quá tải trong Java?
- 21. Ngăn chặn mã .NET gọi các phương thức cụ thể?
- 22. Làm cách nào để chặn cuộc gọi phương pháp bằng ruby?
- 23. Ngăn chặn NET từ "nâng" biến địa phương
- 24. ngăn chặn tiêm sql trong oracle "order by" part
- 25. Ngăn chặn báo cáo máy chủ SQL Hijacking/Reports
- 26. IOS: ngăn chặn một NSTimer
- 27. Ngăn chặn ngoại lệ
- 28. Phương pháp 'tối đa' trong Ruby
- 29. Con trỏ phương pháp trong ruby
- 30. chức năng của Ruby vs phương pháp
Sử dụng thư viện nào? – sepp2k
Ồ, tôi sẽ lấy bất cứ ai đề nghị. – Zombies
Tôi hơi ngạc nhiên trước việc giảm giá, nhưng nó có thể đã giúp bạn nếu bạn đề cập đến việc bạn đang sử dụng một khung công tác web hay sử dụng các đối tượng ruby cũ đồng bằng. –