2012-03-07 5 views
0

안녕하세요 레일의 보안 구멍으로 인해 응용 프로그램이 악용되어 Github에서 무슨 일이 일어 났는지에 비추어 NOOB 질문이 있습니다.대량 할당에서 속성을 보호하는 방법

레일스에서 ​​객체 속성을 보호하는 가장 좋은 방법은 무엇입니까? 적용 가능한 경우 값을 할당 할 수 있습니까?

감사

답변

2

사실 3.1 새로운 추가되었습니다 레일 내장 당신이보고 싶을 뭔가 아마도 역할과 대량 할당을 처리하는 방법.

릴리스는 기본적으로 here

노트는 다음과 같이 작동

class User < ActiveRecord::Base 
    attr_accessible :name 
    attr_accessible :name, :role, :as => :admin 
end 

이것이 수행 할 수있게하면 사용자가 중 하나에 자신의 정보를 업데이트 할 수 있도록 다음과 같은 방법을 사용할 수 있다는 것입니다 당신의 컨트롤러 :

@user.update_attributes(params[:user]) 

그리고 사용은 사용자 모델의 :role 속성을 업데이트 할 수 없다. 하지만 당신은 별도의 컨트롤러 역할을 관리하여 관리 사용자를 때 다음 수있는 사용자 다음 구문 :

@user.update_attributes(params[:user], :as => :admin) 

그리고는 :role 속성뿐만 아니라 도움이

+0

감사 DanneManne를 업데이트 할 수 있습니다. 나는 그렇게 할 것이다. – chell