브라우저가 모두있는 이유를 디버그하려면 어떻게해야합니까 CSRF 토큰이 잘못되었습니다. 오류가 발생하지만 기능 테스트를 통해 동일한 양식을 테스트 할 때 오류가 발생합니까?Symfony2.1 : CSRF 토큰이 유효하지 않습니다. 브라우저에서만 PHPUnit WebTestCase가 오류없이 작동합니다.
0
A
답변
2
? 그래서 새로운 질문입니다 :이 구성의 주석 처리 된 부분은 무엇이 잘못 되었습니까?
session:
auto_start: true
# cookie_lifetime: 86400
# cookie_path: \
# cookie_domain: example.com
# cookie_secure: true
# cookie_httponly: true
2
양식을 렌더링하는 방식을 사용자 정의한 경우 {{form_rest (form)}}을 다음 예제와 같이 추가했는지 확인하십시오.
예 내가 모든 일을 시작, 다음과 같이 내 config.yml 댓글을 달았습니다
<form action="{{ path('BloggerBlogBundle_contact') }}" method="post" {{ form_enctype(form) }}>
{{ form_errors(form) }}
{{ form_row(form.name) }}
{{ form_row(form.email) }}
{{ form_row(form.subject) }}
{{ form_row(form.body) }}
{{ form_rest(form) }}
<input type="submit" value="Submit" />
</form>
-5
그런 다음보기 전에 @csrf_exempt 쓰기는
csrf_exempt django.views.decorators.csrf 수입에서
을 가져올 수있는이에 대한 CSRF 토큰을 excempt하는 @csrf_exempt 장식을 사용 할 수
이것이 제대로 작동합니다.
+0
이 질문은 Symfony2에 관한 것이지 Python이나 Django에 관한 것이 아닙니다. – Dmitriy
2
보안 쿠키를 비활성화하면 심포니 2.0.16에서 다음 버전으로 업그레이드 한 후이 문제가 해결되었습니다. 2.1.6 :
session:
cookie_lifetime: 3600
cookie_path: \
cookie_domain: .%base_domain%
cookie_secure: false
cookie_httponly: true
템플릿에 {{form_widget (form)}} 밖에 없습니다. 토큰은 html 소스에서 볼 수 있습니다 – nysander