
Безпека Rails
Захист CSRF, SQL-ін'єкція, XSS, mass assignment, керування secrets, HTTPS
1Який механізм Rails використовує за замовчуванням для захисту від атак CSRF?
Який механізм Rails використовує за замовчуванням для захисту від атак CSRF?
Відповідь
Rails генерує унікальний CSRF-токен для кожної сесії та автоматично додає його до форм через приховане (hidden) поле. Цей токен перевіряється на стороні сервера для кожного запиту, відмінного від GET. Хелпер form_with автоматично вставляє цей токен, а protect_from_forgery увімкнено за замовчуванням у ApplicationController.
2Як вимкнути захист CSRF для конкретної дії в API controller?
Як вимкнути захист CSRF для конкретної дії в API controller?
Відповідь
Метод skip_before_action :verify_authenticity_token вимикає перевірку CSRF для конкретних дій. Це поширене для API, які використовують автентифікацію на основі token (JWT, API key) замість сесій. Рекомендується обмежувати цей виняток лише суворо необхідними діями за допомогою опції only.
3Яка вразливість використовується в цьому коді: User.where("name = '#{params[:name]}'")?
Яка вразливість використовується в цьому коді: User.where("name = '#{params[:name]}'")?
Відповідь
Пряма інтерполяція params у SQL-запит уможливлює SQL injection. Зловмисник може надіслати name="'; DROP TABLE users; --", щоб виконати довільний SQL-код. Натомість використовуйте placeholder ActiveRecord: User.where(name: params[:name]) або User.where("name = ?", params[:name]).
Який метод ActiveRecord автоматично захищає від SQL injection?
Як Rails автоматично захищає від XSS-атак у поданнях ERB?
+19 питань зі співбесід
Інші теми співбесід Ruby on Rails
Основи Ruby
Об'єктно-орієнтоване програмування в Ruby
Основи Rails
Routing & Controllers
Основи ActiveRecord
Views та шаблони ERB
Асоціації ActiveRecord
Розширені запити ActiveRecord
Форми Rails
Автентифікація та авторизація
Сучасний Asset Pipeline та frontend
Режим API Rails
Тестування з RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Стратегії кешування
Розширені міграції
Rails Engines та модульні застосунки
Оптимізація продуктивності
Патерни проєктування Rails
Метапрограмування в Ruby
GraphQL із Rails
Розгортання та Продакшн
Monitoring & Logging
Стратегії оновлення Rails
Опануй Ruby on Rails для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно