Ruby on Rails

Rails Güvenliği

CSRF koruması, SQL injection, XSS, mass assignment, secrets yönetimi, HTTPS

22 mülakat soruları·
Senior
1

Rails, CSRF saldırılarına karşı korunmak için varsayılan olarak hangi mekanizmayı kullanır?

Cevap

Rails her oturum için benzersiz bir CSRF token üretir ve bunu hidden bir alan aracılığıyla otomatik olarak formlara ekler. Bu token, GET olmayan her istek için sunucu tarafında doğrulanır. form_with helper'ı bu token'ı otomatik olarak ekler ve protect_from_forgery, ApplicationController içinde varsayılan olarak etkindir.

2

Bir API controller'ında belirli bir action için CSRF korumasını nasıl devre dışı bırakırsınız?

Cevap

skip_before_action :verify_authenticity_token metodu belirli action'lar için CSRF doğrulamasını devre dışı bırakır. Bu, session yerine token tabanlı kimlik doğrulama (JWT, API key) kullanan API'lerde yaygındır. Bu istisnayı only seçeneğini kullanarak yalnızca kesinlikle gerekli action'larla sınırlamak önerilir.

3

Bu kodda hangi güvenlik açığı istismar edilir: User.where("name = '#{params[:name]}'")?

Cevap

params'ın SQL sorgusuna doğrudan interpolasyonu SQL injection'a olanak tanır. Bir saldırgan, rastgele SQL kodu çalıştırmak için name="'; DROP TABLE users; --" gönderebilir. Bunun yerine ActiveRecord placeholder'larını kullanın: User.where(name: params[:name]) veya User.where("name = ?", params[:name]).

4

Hangi ActiveRecord metodu SQL injection'a karşı otomatik olarak koruma sağlar?

5

Rails, ERB view'larında XSS saldırılarına karşı otomatik olarak nasıl koruma sağlar?

+19 mülakat soruları

Bir sonraki mülakatın için Ruby on Rails'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla