2014-03-18 2 views
3

Expression Engine의 문의 양식에 문제가 있습니다. 나는 문서의 코드를 사용하고 있지만, 제출 한 후이 오류 받고 있어요 :표현 엔진 :이 양식이 만료되었습니다. 새로 고침하고 다시 시도하십시오.

This form has expired. Please refresh and try again. 

내 코드 : 나는 표현 엔진 2.8.0을 사용하고

{exp:email:contact_form user_recipients="no" recipients="[email protected]" charset="utf-8"} 
    <h2>Support Form</h2> 
    <p> 
      <label for="from">Your Email:</label><br /> 
      <input type="text" id="from" name="from" size="40" maxlength="35" value="{member_email}" /> 
    </p> 
    <p> 
      <label for="subject">Subject:</label><br /> 
      <input type="text" id="subject" name="subject" size="40" value="Contact Form" /> 
    </p> 
    <p> 
      <label for="message">Message:</label><br /> 
      <textarea id="message" name="message" rows="18" cols="40"> 
        Support Email from: {member_name} 
        Sent at: {current_time format="%Y %m %d"} 
      </textarea> 
    </p> 
    <p> 
      <input name="submit" type='submit' value='Submit Form' /> 
    </p> 
{/exp:email:contact_form} 

합니다. 고마워요!

답변

0

보안 양식 XID 해시에 문제가 있다고 생각합니다. "안전한 양식"을 사용하는 동안에는 양식을 한 번만 제출할 수 있습니다 (스패머가 공중 납치하는 것을 막음).

빠른 사용 중지 방법은 시스템/표현식 엔진/config/config.php을 열고 아래쪽에 추가하여 사용 중지하십시오. 그게 당신에게 차이가 있는지보십시오.

$config["secure_forms"] = "n"; 

확실히 안전한 양식을 사용하는 것이 좋습니다.

+0

인터넷에서 어딘가에서이 답변을 찾았지만 사용해 보지 못했습니다. 도움을 주셔서 감사합니다. – Gio

3

: 당신이 XID의 해시를 생성하는 데 사용할 수있는 전역 변수가있다 의 config.php를 '고정'문제에 이것을 추가

$config[‘disable_csrf_protection’] = “y”; 
0

나는이 문제에만 크롬이 아니라 파이어 폭스 나 사파리를 가지고 있었다 (이것은 이상적인 상황이 아니다 이래 같은, 그 위에 미봉책을 넣어) . 나는 PHP로 파고가 Csrf.php에서이 검사를 실패했음을 깨달았다

// Fetch data, these methods enforce token time limits 
    $this->fetch_session_token(); 
    $this->fetch_request_token(); 
// Main check 
    if ($this->request_token === $this->session_token) 
    { 
     return TRUE; 
    } 

그럼 내가 쿠키를 차단하도록 크롬을 설정 한 것을 깨달았다. Chrome에서 쿠키를 허용하고 더 이상 오류 메시지를받지 않도록 설정했습니다.