2017-02-20 2 views
0

젠드 프레임 워크 2에 대한 응용 프로그램 기반이 있습니다. CSRF 필드가있는 폼이 있습니다. 양식을 작성하고 약 5 분 후에 제출하면 The form submitted did not originate from the expected site 인증 오류가 발생합니다.젠드 프레임 워크 2 CSRF 유효성 확인

그래서 세션 구성에 문제가 있다고 가정했습니다. 그럼 난 follows

'session' => array(
    'remember_me_seconds' => 2419200, 
    'use_cookies' => true, 
    'cookie_httponly' => true, 
    'cookie_lifetime' => '2419200', 
    'gc_maxlifetime' => '2419200' 
), 

module.config.phpSessionConfig에 옵션을 추가 그러나 문제는 여전히 존재한다. 이 문제를 해결하는 방법을 알고 있습니까? 다음과 같이 --Update--

내 폼 클래스

다음의

$this->add(array(
     'type' => 'Zend\Form\Element\Csrf', 
     'name' => 'security', 
     'options' => array(
      'csrf_options' => array(
       'timeout' => 20000 
      ) 
     ) 
    )); 

없음 작동하는 것 같다되지는 CSRF 요소가 포함되어 있습니다. 다음 예와 같이

답변

1

ZendFramework 아래 CSRF 시스템은 timeout 키 아래 CSRF 소자의 구성에 저장된 파라미터의 세션 지속 기간을 구성한다 :

$form->add([ 
    'type' => Element\Csrf::class, 
    'name' => 'csrf', 
    'options' => [ 
     'csrf_options' => [ 
      'timeout' => 600, 
     ], 
    ], 
]); 
+0

Infact는 내가 이미했을. 나는 그 질문을 갱신 할 것이다. 시간 초과가 있더라도 문제가 발생합니다. – Ruwantha