Symfony 2.1을 사용하여 로그인 양식 CSRF 보호가 행복하게 작동하는 것처럼 보일 수 없습니다.로그인 양식을 얻는 방법 Symfony 2.1에서 CSRF 보호가 작동합니까?
config.yml에서 csrf_protection은 true로 설정됩니다. 로그인 양식은 'form [_token]'이라는 숨겨진 입력을 렌더링합니다. security.yml에서 :
csrf_parameter: form[_token]
intention: authenticate
이 구성을 사용하면 문제없이 로그인 할 수 있습니다. 그러나 CSRF 토큰이 점검되지 않습니다. 내가 양식 제출하기 전에 숨겨진 입력 필드를 제거하여이 확인되지 : 나는 오류가 발생, 로그인 더 이상
<input type="hidden" id="form__token" name="form[_token]" value="9b2f5d5efabb938ff8d83c2c8318db1377a3ef16">
나는 csrf_provider 구성 설정을 추가하는 경우가 security.yml 할을 수 있습니다 "잘못된 CSRF 토큰"
csrf_provider: form.csrf_provider
내가이 항목에서 찾을 수있는 내용을 읽었으며 아무 것도 올바르게 작동하지 않는 것 같습니다.이 기사에서 읽은 내용은 제외합니다. http://henrik.bjrnskov.dk/symfony2-cross-site-request-forgery/. 그 물건들은 Symfony의 Friends : https://github.com/FriendsOfSymfony/FOSUserBundle/pull/469으로 끌어 들여진 것 같습니다. 나는 사용하지 않았습니다. > generateCsrfToken -
$ csrfToken = $ this-> 컨테이너 -> GET ('form.csrf_provider') :
가 loginAction에서 수동으로 토큰을 생성합니다
포스트는 당신을 지시 ('입증');
- 뷰
로 전송하고 성가신 형태
에서 수동으로 렌더링합니다.
질문은 기본적으로 구성 설정 만 사용하는 로그인 양식의 경우 CSRF 보호가 Symfony 2.1에서 작동해야합니까, 아니면 작동하도록 loginAction 및 템플릿을 수정해야합니까?
이것은 로그인 컨트롤러에 아무 것도 추가하지 않고 2.5에서 작동합니다 (첫 번째 단계와 마지막 단계 만). – dsomnus