2012-10-24 8 views
0

내가이, 그것은SQL 인젝션 방지 및 레일의 데이터 변환은

Client.where(:created_at => (params[:start_date].to_date)..(params[:end_date].to_date)) 

내 질문입니다 그들이 사용 이후에 반면 올바른 형식

Client.where("orders_count = ?", params[:orders]) 

간주됩니다 레일 가이드에 루비에 발견 .to_ 메서드를 사용하면 SQL 주입에 대해 충분히 안전 할 것이라고 가정하는 것이 안전할까요?

+0

그들은 모두 동일한 코드를 통과하게되며, AR은 "실제"자리 표시자를 사용하지 않고 자체적으로 자리 표시자를 대체합니다. –

답변

1

to_ 메서드는 안전하지만 형식은 (여기서 : column => value) 또는 새 해시 형식 : where (column : value)은 안전하고 편리합니다. .