
Bảo mật Rails
Bảo vệ CSRF, SQL injection, XSS, mass assignment, quản lý secrets, HTTPS
1Rails sử dụng cơ chế nào theo mặc định để bảo vệ chống lại các cuộc tấn công CSRF?
Rails sử dụng cơ chế nào theo mặc định để bảo vệ chống lại các cuộc tấn công CSRF?
Câu trả lời
Rails tạo một CSRF token duy nhất cho mỗi phiên và tự động đưa vào form thông qua một field hidden. Token này được xác minh ở phía server cho mỗi request không phải GET. Helper form_with tự động chèn token này, và protect_from_forgery được bật theo mặc định trong ApplicationController.
2Làm thế nào để vô hiệu hóa bảo vệ CSRF cho một action cụ thể trong API controller?
Làm thế nào để vô hiệu hóa bảo vệ CSRF cho một action cụ thể trong API controller?
Câu trả lời
Phương thức skip_before_action :verify_authenticity_token vô hiệu hóa việc xác minh CSRF cho các action cụ thể. Điều này phổ biến với các API sử dụng xác thực dựa trên token (JWT, API key) thay vì session. Nên giới hạn ngoại lệ này chỉ cho những action thực sự cần thiết bằng tùy chọn only.
3Lỗ hổng nào bị khai thác trong đoạn code này: User.where("name = '#{params[:name]}'")?
Lỗ hổng nào bị khai thác trong đoạn code này: User.where("name = '#{params[:name]}'")?
Câu trả lời
Việc nội suy trực tiếp params vào câu truy vấn SQL cho phép SQL injection. Kẻ tấn công có thể gửi name="'; DROP TABLE users; --" để thực thi mã SQL tùy ý. Thay vào đó hãy dùng placeholder của ActiveRecord: User.where(name: params[:name]) hoặc User.where("name = ?", params[:name]).
Phương thức ActiveRecord nào tự động bảo vệ chống lại SQL injection?
Rails tự động bảo vệ chống lại các cuộc tấn công XSS trong view ERB như thế nào?
+19 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Ruby on Rails khác
Kiến thức cơ bản về Ruby
Lập trình hướng đối tượng trong Ruby
Kiến thức cơ bản về Rails
Routing & Controllers
Kiến thức cơ bản về ActiveRecord
Views & Template ERB
Liên kết ActiveRecord
Truy vấn ActiveRecord nâng cao
Form Rails
Xác thực & Phân quyền
Asset Pipeline hiện đại & frontend
Chế độ API của Rails
Kiểm thử với RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Chiến lược Caching
Migration nâng cao
Rails Engines & ứng dụng mô-đun
Tối ưu hóa hiệu năng
Design Patterns trong Rails
Lập trình meta trong Ruby
GraphQL với Rails
Triển khai & Sản xuất
Monitoring & Logging
Chiến lược nâng cấp Rails
Nắm vững Ruby on Rails cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí