이것은 레일 앱이지만 일반 루비 질문에 더 많은 것이 있습니다.Ruby : 가변 변수/메소드 호출 + 보안 문제
나는 여러 범위의 모델을 가지고 있습니다. 예를 들면 :
Photo.recent
Photo.popular
Photo.featured
내가 가지고 내가 하나의 PARAM을 통과 할 수 있도록하려면 내 응용 프로그램에서보기 "사진을 찾아"사용자들이보기를 원하는 범위, 즉 지정할 수 있습니다 :
example.com/photos/browse?view=recent
을
이것은 저에게 params [: view]를 주며 Photo에 메서드 호출로 첨부해야합니다.
제 첫 질문은 루비에서 어떻게 그런 일을 할 수 있느냐입니다.
둘째, 사진 첨부 만하면 입력을 제한 할 수 없다면 보안 상 위험 할 수 있습니다. whatever the user types in the url
그러면 해커가 말하는 위험에 처해 있습니다. example.com/photos/browse?view=delete_all
분명히 나쁜 생각입니다.
두 번째 질문은 URL에서 param을 안전하게 받아 들일 수있는 몇 가지 종류의 메소드를 호출하여 사용자가 사용할 수있는 경우에만 정보를 반환 할 수있는 방법으로 허용 목록이나 뭔가를 만들 수있는 방법입니다. 유효한 명명 된 범위를 요청합니다.
마지막으로 관리자 용 범위 만 있습니다. 사용자가 아무 것도 인증되지 않았는지 확인하기 위해 current_user.has_role?
을 쿼리 할 수 있도록 사용자 기능이 정의되어 있습니다 (CanCan 사용). 그러나 사용 권한을 범위와 연관시키는 방법이 있습니까?
감사합니다. 당신이이 범위의 많은가없는 한
이 방법은 유용 할 것으로 보이며 범위의 수를 관리 할 수 있다고 생각합니다. 호기심에서 수작업으로 작성된 화이트리스트없이 어떻게 할 수 있습니까? – Andrew
@Andrew 편집 참조 –