itsource

Wordpress admin 로그인 쿠키가 서버 이동 후 차단됨 오류

mycopycode 2023. 3. 8. 21:10
반응형

Wordpress admin 로그인 쿠키가 서버 이동 후 차단됨 오류

배경: Wordpress 3.7 사이트를 olddomain.com에서 운영하고 있습니다.

newdomain.com으로 정상적으로 이동했고, 이 과정에서 다음 내용이 wp-config에 추가되었습니다.

define('WP_HOME','http://newdomain.com');
define('WP_SITEURL','http://newdomain.com');

newdomain.com/wp-admin 에서 로그인을 시도하면 크로스오버 에러가 발생합니다(cookie가 활성화되어 기존 cookie가 지워집니다).

ERROR: Cookies are blocked or not supported by // your browser. 
You must enable cookies to use WordPress.

wp-login에 들어가려고 했습니다.php 및 다음 행(744-198)을 코멘트 아웃하여 조건부 테스트쿠키 체크를 중지합니다.

    // If cookies are disabled we can't log in even with a valid user+pass
if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
    $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by // your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
else
    $user = wp_signon('', $secure_cookie);

하지만 이렇게 하면 admin 페이지로 돌아가는 리다이렉트루프에 갇히게 됩니다.

http://myapp.com/wp-login.php?redirect_to=http%3A%2F%2Fmyapp.com%2Fwp-admin%2F&reauth=1

사이트 URL을 변경해야 합니까(또는 설정하지 않아야 합니까) 아니면 다른 문제 슈팅 방법이 있습니까?감사해요.

wp-config에 추가합니다.php

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', ''); 

원본 소스 http://wordpress.org/support/topic/cookie-error-site-not-letting-me-log-in

수백 개의 WP 사이트를 이행한 후, 다음과 같은 생각을 합니다.

DB를 이행하는 경우 : "siteurl" 및 "home" 값을 가진 데이터베이스 옵션 테이블(http wp_http) 열 "option_name"에 해당 사이트에 대한 올바른 "option_value"가 있는지 확인합니다."siteurl"은 거대합니다.

WP의 새로운 도메인으로 DB를 이행하기 위해 필요한 최소한의 옵션테이블 수정이 있음을 증명할 수 있습니다.(리다이렉션을 일으키지 않고 계속 문제가 있습니다)

WP는 이러한 DB 옵션을 검색하여 사이트를 도메인으로 시리얼화하며, 정의는 스택 내에서 더 낮으며 도움은 되지 않는다고 확신합니다.wp-admin 액티비티는 전면과 느슨하게 결합되어 있다고 간주한다.전면의 모든 것을 절단할 수 있습니다(완료).관리자는 계속 기능합니다.

또, 사이트에서는 범용 인스톨/이행 또는 변경은 행해졌습니까?

앞서 설명한 바와 같이 .htaccess(누락 또는 잘못 설정)로 인해 오류가 발생합니다..htaccess 파일에 대해서입니다만, 사용하는 경우는 닷입니다.파일 및 많은 운영체제는 복사/붙여넣기 또는 FTP 응용 프로그램 또는 유사한 응용 프로그램이 .htaccess를 전송하지 않도록 "무시" 또는 "투명화"합니다.

(확실히) DB를 이동하고 예쁜 URL을 사용하다가 .htaccess를 놓쳤다면 수정만 하면 됩니다.방금 샌드박스 설치에서 로컬로 테스트했는데 option_value 열에 공백으로 두면 wp_option 열 "option_name" 값 "permalink_value"가 ?p=1(비 Permalink) 상태로 돌아가고 .htaccess는 대부분 바이패스됩니다.

이건 나한테 효과가 있었어.

  1. 하다.//define('COOKIE_DOMAIN', 'www.domain.com');wp-config.저장되어 있습니다.
  2. 모든 파일이 utf-8이 아닌 ANSI 형식인지 확인합니다.

는, 할 때에도 통상은 「」의 모든 ( 「」의 갱신)이 됩니다.wp_options , 「 」, 「 」, 「 」,DOMAIN_CURRENT_SITE 줄을 대다wp-config.php:

define( 'DOMAIN_CURRENT_SITE', 'yourdomain.com' );

캐싱 플러그인으로 인해 이 문제가 발생하였습니다.

W3 Total Cache는 다음 내용을 wp-config.php 파일에 추가했습니다.

define('COOKIE_DOMAIN', 'www.olddomain.com'); // Added by W3 Total Cache

하드코드가 되어 있기 때문에 새로운 사이트 도메인으로 갱신되지 않았습니다.추가된 코드를 삭제한 후(현재 플러그인을 사용하지 않기 때문에) 다시 로그인할 수 있었습니다.

wp-config.php에서 "cookie"라는 단어를 확인하고 플러그인이 이와 같은 것을 추가했는지 확인합니다.

같은 에러가 발생하고 있습니다.

홈과 사이트를 하드코딩했습니다.새로운 웹사이트의 wp-config.php URL - 플러그인은 설치되지 않았습니다.

문제:URL 끝에 공백이 있었습니다.

define('WP_HOME','http://100.000.000.01/~acctname/wp ');
define('WP_SITEURL','http://100.000.000.01/~acctname/wp ');

공간을 제거하면 이 오류가 수정되었습니다.

define('WP_HOME','http://100.000.000.01/~acctname/wp');
define('WP_SITEURL','http://100.000.000.01/~acctname/wp');

이 버그는 지난 며칠간 나를 미치게 해서 너희들과 공유하기 위해 버그를 수정한 후 나는 생각했다! 문제는 워드프레스 백엔드에 로그인하려고 할 때 짜증나는 쿠키 오류가 발생했기 때문에 이렇게 수정했다!

  1. ftp 및 도메인으로 이동합니다.
  2. 나중에 wp 콘텐츠로 이동합니다.
  3. 테마 폴더로 이동
  4. 활성 테마를 선택했습니다.
  5. 기능을 찾습니다.php의 teem을 열고 엽니다.
  6. 코드 엔드에 closing tag p > space를 삭제하고 저장하기만 하면 됩니다.
  7. domain.com/wp-login.php에 접속하세요.
  8. 로그인 시도 후 수정해야 합니다.태그를 원래대로 되돌리고 다시 저장할 수 있습니다.이 방법은 워드프레스의 화이트 페이지 문제도 해결합니다.

건배!

저는 이 쿠키 문제를 해결하기 위해 구글에 접속하여 모든 방법을 시도했습니다.마침내 두 가지 해결책을 찾았어요. 그게 도움이 될 거예요.

해결책 1:

yoursite/wp-displays.php

770-773 행에 대한 코멘트

코드

if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
    $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
else
    $user = wp_signon('', $secure_cookie);

일부 웹 사이트에서 작동하거나 일부 사이트에서 빈 페이지가 표시될 수 있습니다.또한 이 파일은 워드프레스 업데이트 후 덮어쓸 수 있으므로 권장하지 않습니다. 따라서 두 번째 솔루션을 사용해 보십시오.

해결책 2:

yoursite/wp-content/temes/yourthemeFolder/functions.php

다음 코드를 입력합니다.

 setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);
if ( SITECOOKIEPATH != COOKIEPATH )
    setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);

테마를 업데이트하면 이러한 변경이 느슨해질 수 있으므로 현재 활성 테마의 child-theme 폴더 아래에 있는 다른 functions.php에 이 코드를 넣으십시오.호프, 이게 도움이 될 거야

Unix/Linux 유형의 플랫폼에서 실행 중인 경우 - 원본 서버에서 .htaccess 파일을 복사하고 해당 파일 내의 이전 도메인에 대한 참조를 업데이트했는지 확인하십시오.워드프레스 배포의 루트에 있습니다(사용하는 경우).

또는 데이터베이스 내의 wp_options 테이블 어딘가에 이전 도메인에 대한 참조가 있을 수 있습니다.

도메인 간에 이동할 때 게시물 내의 이미지 및 미디어 위치를 업데이트해야 할 수 있습니다.이 작업은 데이터베이스 내에서 직접 수행하거나 검색/바꾸기 유틸리티를 사용하거나 게시물 내에서 이미지를 수동으로 다시 지정할 수 있습니다.투고 데이터를 수정하는 다른 방법은 이전 사이트에서 모든 투고를 내보내는 것입니다(관리 패널 내).[툴(Tools)]> [내보내기(Export)]> [모든 투고(All posts)]입니다.다음으로 새로운 사이트로 Import하기 전에 그 결과 파일 내의 URL을 수동으로 갱신합니다.

이 모든 것들과 더 많은 것들이 고문서에서 다루어진다.wordpress.org 를 참조해 주세요.상세한 것에 대하여는, 다음의 링크를 참조해 주세요.

http://codex.wordpress.org/Changing_The_Site_URL

중요사항:

  1. 데이터베이스 내에서 직접 수정하는 경우 GUID에 대해 설명하는 섹션을 반드시 읽어보십시오.

  2. Better WP Security를 사용하고 있다면 다른 작업이 필요할 수 있지만, 당신이 설명한 내용으로 미루어 볼 때 설치는 되어 있지 않은 것 같습니다.

나는 매우 유사한 상황과 스펙에서 같은 문제가 있었다.

결국 온라인으로 다양한 솔루션을 제안해 본 후 FTP를 통해 활성 테마 이름을 변경하고 대시보드에 로그인할 수 있게 되었습니다. 테마 이름을 다시 바꾸면 모든 것이 작동했습니다. 이유는 모르겠지만 누군가가 문제를 해결하는 데 도움이 될 수 있습니다.

저도 같은 문제가 있어서 아무 것도 안 돼요.php 5.3.x를 5.4.x로 업그레이드하면 정상적으로 동작합니다.

다음 단계로 문제를 해결합니다.

wp-config에 있습니다.php

//define('WP_CACHE', true); // Added by W3 Total Cache Block this line
//define("COOKIE_DOMAIN", "www.domain.com"); Block this line

wp-content에서 다음 파일 삭제

object-cache.php 
advanced-cache.php
db.php

도메인 매핑에 플러그인이 필요할 때 다중 사이트 설치를 오래 전에 만들었습니다. 나는 을 가지고 있었다.'/wp-content/sunrise.php' "wp-config"에서define( 'SUNRISE', 'on' );WordPress는 WordPress 。

debug.log에서 다음 오류를 확인했습니다.

Undefined index: HTTP_HOST in ../public_html/wp-content/sunrise.php on line 10
Undefined index: HTTP_HOST in ../public_html/wp-includes/ms-settings.php on line 57

그래서 일출 파일과 wp-config 일출 정의를 삭제하고 @max4ever/@duck_boy의 쿠키 정의를 wp-config 파일에 추가했습니다.

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', ''); 

그것으로 문제가 해결되었다.로그인 할 수 있게 되었습니다!!주의: 이 정의를 사용해 봤는데, 이것도 유효했습니다.다중 사이트 설정 가이드에서 가져온 내용

define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] );

wordpress 사이트를 localhost에 설치하려고 할 때 이 오류가 발생했습니다.문제는 .htaccess 내의 이 행입니다.

헤더 편집 Set-Cookie ^(.*)$1;HttpOnly;시큐어

https가 아닌 경우 쿠키가 설정되는 것을 방지합니다.그냥 선을 없애야 했어

나는 이 문제에 대한 매우 좋은 해결책을 찾았다.

이 오류에 대한 가능한 해결 방법은 다음과 같습니다.

  1. 코딩 오류
  2. 코드의 불필요한 공백
  3. 캐시 및 보안 플러그인

다음 문서를 참조하십시오.https://www.scratchcode.io/cookies-are-blocked-or-not-supported-by-your-browser/

언급URL : https://stackoverflow.com/questions/20941328/wordpress-admin-login-cookies-blocked-error-after-moving-servers

반응형