2011-02-23 5 views
1

난 3 개의 w/cancan 레일에 글을 쓰고있다. 컨트롤러에 대한 게시 작업을 승인하는 것이 보안상의 관점에서 필요하거나 도움이되는지 궁금합니다. 모든 컨트롤러 동작이 인증이 필요하다고 가정합니다 (예 : 사용자가 로그인해야 함).게시 작업에 레일 인증이 필요합니까?

나는 사용자가 간단하게 입력 그들이 원하는 URL이 자유롭게 방문 할 수 있으며,이 잠겨해야하기 때문에의를 GET 사용 내 컨트롤러 액션에 캉캉를 통해 인증이 필요 왜 볼 수 있습니다. 그러나 게시물의 경우 사용자는 토큰으로 xss 공격으로부터 보호되는 양식의 데이터를 게시해야합니다. 이 경우

은 내가 캉캉 내보기에 말의 가시성, 버튼을 제한하는 경우 사용자가 악의적으로 양식을 제출하지 못할 것이라고 가정하는 것이 안전 할 것인가? 빠른 응답들에 대한

감사 :

덕분에

편집을 많이. 아래에 지적했듯이 악의적 인 사용자는 방화범 같은 도구를 사용하여 양식 게시를 위조 할 수 있으므로 권한이 필요합니다.

은 무엇 카피 바라/오이를 사용하여 (그들이 해킹 한 형태를 가진 URL로 게시하는 사용자)의 상호 작용의 유형을 시뮬레이션하는 가장 좋은 방법이 있을까요?

다시 한번 감사드립니다.

답변

2

사용자는 관계없이 웹 사이트 여부에 여부의 POST 요청을 제출할 수 있습니다. 보안 토큰이 XSS를 방지하는 데 도움이된다고 생각하는 것이 맞지만 다른 공격 방법을 위해 인증을 추가 할 것입니다.

보안이 염려되는 경우 좋은 (무료) 전자 서적은 Ruby on Rails Security Guide입니다. 모든 일반적인 형태의 악의적 인 공격에 대해 설명하고, 덜 사용되는 (그러나 효과가있는) 방법을 탐색합니다. 또한 응용 프로그램의 보안을 강화하는 방법에 대한 훌륭한 솔루션을 제공합니다.

1

컨트롤러의 사용자 권한을 확인해야합니다. 방화 광 같은 간단한 도구와

, 당신은 수동으로 폼의 내용을 편집하고 더 많은 텍스트 필드 또는 유사한를 추가 할 수 있습니다. XSS 보호가 도움이되지 않습니다.

0

사용자는 여전히 버튼을 클라이언트 측에서 (브라우저 코드 할 것이다 변화에 방화범을 사용하여 어떠한 방법)을 생성하고 양식을 보낼 수있을 것입니다. 내가 정확하게 토큰이 HTML 헤더 공동체로 보내지는 것을 기억한다면 그것은 폼을 위조하는 데 문제가되지 않을 것입니다.

관련 문제