Toplu Atama (ARCH6129)
Anahtar ruby.security.mass-assignment · Önem warning · Kategori security · CWE CWE-915
Tüm istek yükünü doğrudan bir modele aktarmak, saldırganların admin gibi korumalı nitelikleri ayarlamasına olanak tanır. Yalnızca izin verilen parametreleri kabul edin.
Hatalı
Bölüm başlığı “Hatalı”class UsersController < ApplicationController def update @user.update(params[:user]) endendclass UsersController < ApplicationController def update @user.update(user_params) end
private
def user_params params.require(:user).permit(:name, :email) endendDüzeltme
Bölüm başlığı “Düzeltme”Güçlü parametreler (permit) kullanarak yalnızca izin verilen nitelikleri açıkça beyaz listeye alın.