2015-02-05 5 views
3

Symfony2 앱을 배포했지만 모든 양식에 빈 csrf 토큰이 있습니다. 이 HTML은 방화범이 끌려옵니다. 보시다시피 태그가 제대로 렌더링되었지만 값이 할당되지 않았습니다. 내 컨트롤러에서Symfony2 - 빈 CSRF 토큰

<input type="hidden" value="" name="category[_token]" id="category__token"> 

: 템플릿에서

$form = $this->createForm(new CategoryForm(), new Category()); 
$form->handleRequest($request); 

if ($form->isValid()) { 
    (...) 
} 

는, 형태는 부트 스트랩 3 모달의 내부입니다.

{{ form_start(form) }} 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
        <h4 class="modal-title" id="myModalLabel">Voeg een tariefplan toe</h4> 
       </div> 
       <div class="modal-body"> 
        <div class="form-group"> 
         {{ form_label(form.name) }} 
         {{ form_widget(form.name) }} 
        </div> 
        <div class="form-group"> 
         {{ form_label(form.parent) }} 
         {{ form_widget(form.parent, {'attr':{ 'class': 'form-control' }}) }} 
        </div> 
        <div class="form-group"> 
         {{ form_label(form.sizes) }} 
         {{ form_widget(form.sizes, {'attr':{ 'class': 'form-control' }}) }} 
        </div> 
        <div class="form-group"> 
         {{ form_label(form.description) }} 
         {{ form_widget(form.description, {'attr':{ 'class': 'form-control' }}) }} 
        </div> 

        {{ form_widget(form._token) }} 
       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Annuleren</button> 
        {{ form_widget(form.save, {'attr':{ 'class': 'btn btn-primary' }}) }} 
       </div> 
      </div> 
     </div> 
{{ form_end(form) }} 

또한 CategoryForm 클래스의 요지 인 http://goo.gl/6NWTkB을 만들었습니다.

내가 여기에서 무엇을 놓치고 있는지 아는 사람은 누구입니까?

+0

해당 카테고리 엔터티는 컬렉션입니까? –

+1

categoryForm을 게시 할 수 있습니까? –

+0

질문 :-) –

답변

0

당신은 값을 제공해야합니다

<input type="hidden" value={{ csrf_token('category') }}"" name="category[_token]" id="category__token"> 
+0

나는 그것을 시험해 보았지만 아무 것도하지 않았다. –

0

아이디어의 몇 :

{{ form_end(form) }} 출력 토큰 그렇게해야 할 필요가 없습니다해야 : {{ form_widget(form._token) }}합니다.

매우 큰 양식 인 경우 php가 요청 사항을 잘라낼 수 있습니다. php.ini에서 max_input_vars을 확인하십시오. 기본값은 1000입니다.