attr_accessible :email, :password, :password_confirmation
그렇지 않은 경우 attr_accessible을 제거하면 '정의되지 않은'오류가 발생하지 않도록하는 방법의 예를 들어 주시겠습니까?비밀번호 필드를 attr_accessible로 설정하는 것이 안전합니까?
attr_accessible :email, :password, :password_confirmation
그렇지 않은 경우 attr_accessible을 제거하면 '정의되지 않은'오류가 발생하지 않도록하는 방법의 예를 들어 주시겠습니까?비밀번호 필드를 attr_accessible로 설정하는 것이 안전합니까?
안전합니다. Attr_accessible은 응용 프로그램 논리를 제어하는 속성에만 위험합니다. 예를 들어 "이 사용자가 관리자인지 확인했습니다"라는 플래그가 있고 attr_accessible이기 때문에 사용자가 설정할 수 있습니다. 그러면 취약점입니다.
암호는 사용자가 제공하는 정보이므로 동일한 사용자가 설정할 수 있으므로 아무 것도 변경되지 않습니다.
보안 편집증 경우,이 메소드 암호를 정의하는 할 수있는 :
def password
self.password
end
암호를 수동으로 설정할 수 없습니다 이런 식으로.
하지만 devis와 같은 많은 로그인 젬이 attr_accessible에 비밀번호가 필요하기 때문에 걱정하지 않아도됩니다.
하) 감사합니다. 나는 편집증이 아니지만 해킹이 어떻게 작동하는지 모르기 때문에 그러한 문제가 보안에 어떻게 반영되는지 말할 수는 없습니다. 방금 보안과 관련이 있다는 것을 알았습니다.) –
왜 암호를 알아야합니까? – ant
? 왜냐하면 사용자가 인증 할 때 컨트롤러에서 DB에 입력 비밀번호가 같은지 확인하기 때문입니다. –