“잘못된 양식 키. 페이지를 새로 고치십시오”-관리자 패널에 로그인 할 수 없습니다


18

나는 정기적으로 내 사이트를 방문하여 작동하는지 확인하고 제품의 이미지가 나타나지 않는 것을 알았습니다. 캐시 인덱싱 캐시에 문제가 있다고 생각했습니다. 관리자 패널에 로그인하려고 시도하고 오류가 발생했습니다.

"잘못된 양식 키. 페이지를 새로 고치십시오"

또는

다른 증상으로는 고객이 장바구니에 제품을 추가 할 수없고 성능이 매우 느려진다는 것입니다.

로그에 오류가 없습니다 (/ var / logs)

이 문제를 해결하기 위해 어떤 추가 단계를 수행해야합니까?

답변:


48

시스템> 구성> 웹> 쿠키의 쿠키 도메인이 실제 사이트 도메인과 다른 경우에도 발생 합니다.

관리자 패널에 액세스하지 않고 설정을 제거하려면

  1. MySQL 콘솔 또는 phpMyAdmin과 같은 클라이언트에서 다음 SQL 쿼리를 사용하십시오.

    DELETE FROM core_config_data WHERE path='web/cookie/cookie_domain';
  2. 캐시를 지우십시오. 기본 파일 기반 캐시 백엔드를 사용중인 경우 아래의 모든 디렉토리를 삭제하십시오 var/cache.

그런 다음 다시 로그인 할 수있는 즉시 각 웹 사이트 또는 상점에 올바른 쿠키 도메인을 설정하십시오 (예 : .example.comexample.com, www.example.com 및 기타 모든 하위 도메인)

n98-magerun을 사용하고 있다면 반드시 다음을 수행 할 수 있습니다.

n98-magerun config:delete web/cookie/cookie_domain
n98-magerun cache:clean config

안녕하세요 @fschmengler, phpmyadmin에서이 설정을 확인하는 방법에 대한 자세한 내용을 추가하십시오. 사용자가 관리자 패널에 로그인 할 수없고 Magento 개발에 익숙하지 않은 일부 개발자는 데이터베이스에서 이러한 설정을 확인할 위치를 알 수 없기 때문입니다. 죄송하지만, 새로운 회원의 도움을 위해 :)
Mohit Kumar Arora

@MohitKumarArora 당신 말이 맞아요, 대답을 업데이트했습니다
Fabian Schmengler

지금 나는 upvoted했다. :)
Mohit Kumar Arora

n98 방식은 환상적입니다. 정보 주셔서 감사합니다.
앤디 존스

@ FabianSchmengler에서 core_config_data를 확인했으며 내 사이트의 올바른 값입니다. 제공 한 모든 단계를 계속 수행해야합니까? 이 경우에도 접근 방식이 계속 작동합니까?
datasn.io

18

관련 정보를 찾을 수 없어서 질문 / 답변을 게시하고 있습니다.

문제는 내 magento 설치가있는 드라이브가 가득 찼다는 것입니다. 공간을 확보하고 / var / session 및 / var / cache를 지우면 모든 것이 정상으로 돌아 왔습니다.


1
경고 : 삭제 var/session하면 모든 사람이 로그 아웃되고 모든 손님 카트가 지워집니다. 단지 오래된 세션을 제거하는 솔루션 여기를 참조하십시오 : magento.stackexchange.com/a/58167/243
파비안 Schmengler

@fschmengler 네,하지만 처음에 제대로 생성되지 않은 세션을 실제로 즐기고 싶습니까? / var / session을 확인했을 때 모든 종류의 0kb 파일이 정상이 아닙니다.
SR_Magento

1
가장 먼저 확인해야 할 사항입니다. 이것에 몇 시간 동안 내 머리를 건드리고 있었다. 감사!
Bryant Jackson

저에게는 디스크 공간이었습니다. 디스크 공간 관련 오류로 인해 실패했기 때문에 git pull을 시도한 후에 알았습니다.
Damodar Bashyal

@SR_Magento 선생님 캐시 폴더와 세션 폴더가 제거되어 여러 시간 동안 동일한 문제가 발생한 후 얼마 동안 만 작동합니다
Amaresh Tiwari

3

3 가지 해결책이 있습니다.

  1. phpmyadmin에서이 명령을 사용하십시오

    core_config_data에서 삭제 path = 'web / cookie / cookie_domain';

    core_config_data에서 삭제 path = 'web / cookie / cookie_path';

이제 로그인을 시도하십시오.

var 폴더의 모든 항목을 삭제 한 다음 작동하는지 확인하십시오.

3. .htaccess 파일을 샘플 .htaccess 파일로 교체 한 다음 관리자 로그인을 시도하십시오.

그것이 당신을 돕기를 바랍니다.


1

사이트에서 SSL을 사용하는 경우 관리자 페이지에 http 프로토콜을 사용하고 있지 않은지 확인하십시오. https 를 사용해야합니다 . 예 : https://example.com/admin


1

필자의 경우 문제는 magentofolder / var에 쓸 수없는 사용자로 n98-magerun을 사용하여 관리자 사용자를 만들고 대체 폴더 / tmp / magento를 사용했기 때문에 문제가있는 것 같습니다.

방금 관리자를 삭제하고 sudo -iu OTHERUSER(magento 폴더를 소유 한 사용자)를 실행 한 n98-magerun admin:user:create후 다시 실행 하여 사용자를 만들었습니다.


업데이트 : 다른 경우에 관리자 URL이 www 없이 방문되었습니다 . 구문 및 쿠키 설정은 www를 사용하고있었습니다. 그냥 www를 넣어. 관리 URL에서 문제를 해결했습니다. ;)


이러면 안 admin:user:create됩니까?
sr9yar

1
@ sr9yar nope-그건 Magento2-이것은 M1입니다
treyBake

0

위의 캐시 지우기 단계와 함께 아래 기사를 따라야하고 아래 단계에 따라 올바른 경로로 세션 데이터 정보를 설정해야했습니다.

심판 기사

/programming/26123081/failed-to-write-session-data-magento

session.save_path를 변경하여 VM에 배치하여 수정했습니다.

app / etc / local.xml 파일을 변경하십시오.

아래로 교체

그런 다음 작동하기 시작했습니다. 또한 실제로 문제를 알 수 없으므로 오류 로깅을 활성화하는 것이 중요합니다. 다음 기사를 참조하여 이것을 활성화하십시오

https://www.thecreativedev.com/how-to-enable-system-log-and-errorswarning-in-magento/


0

쿠키와 캐시를 지우십시오. 시크릿 모드에서 관리자 패널을 엽니 다.


-3

이 문제는 일반적으로 Magento 1.9.2.3 릴리스에 포함 된 패치 SUPEE-7405를 적용한 후에 발생합니다. app / code / local / Mage / Core / Model / Session.php 파일에 아래 코드를 추가하여 해결할 수 있습니다

public function validateFormKey()
{
    if (!($formKey = $_REQUEST['form_key']) || $formKey != $this->getFormKey()) {
        return false;
    }
    return true;
}

이 파일은 리포지토리에 없을 수 있으므로 코어 파일에서 누락 될 수 있으므로 위의 함수를 파일에 추가 한 후 파일 에서 복사하여 app/code/core/Mage/Core/Model/Session.php붙여 넣습니다 app/code/local/Mage/Core/Model/Session.php.

또한 브라우저 캐시와 쿠키를 지우십시오. Magento의 모든 파일 var/cachevar/session폴더 내용 을 지우십시오 . 그런 다음 관리자 패널에 로그인하십시오.


Ermm .. 재정의 된 관리 HTML 템플리트에 양식 키 블록 출력을 추가하는 것이 더 나은 솔루션이 아니겠습니까? (CSRF 보호가 의도 한대로 작동하는 방식).
Luke A. Leber

2
핵심 파일을 편집해서는 안됩니다.
Max
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.