2011-06-11 5 views
1

www.mysite.com에서 내 WordPress 블로그를 가지고 있으며, 하위 도메인에서 내 자신의 PHP 응용 프로그램을 가지고 있습니다. l.mysite.comWordpress는 로그인 후 하위 도메인으로 리디렉션합니다.

내 PHP 응용 프로그램에서 WordPress의 로그인 자격 증명을 원합니다. 나는 루트에서 wp-blog-header.php를 내 앱에 포함 시켜서 알아 냈습니다.

사용자 정보를 OK로 사용할 수 있습니다.

사용자를 www.mysite.com/wp-login.php?redirect_to=l.mysite.com로 리디렉션하려고했습니다. 여기서 redirect_to 매개 변수를 지정하고 있음을 알 수 있습니다. Wordpress이 이것을 무시하고 관리자 패널로 리디렉션합니다.

나는 worpdress가 WordPress의 wp_safe_redirect() 함수에 지정된 것으로 생각되는 "외부 도메인"으로의 리다이렉트를 허용하지 않는다고 생각합니다. 리디렉션이 발생할 수있는 일부 도메인을 무시할 수있는 플러그인이 있습니까?

많은 로그인 특정 리디렉션 플러그인이 있지만 새로운 doamin을 수행 할 수있는 플러그인은 없습니다.

답변

2

확인이 플러그인 : 그것은 당신이 원하는 것을하는 것처럼 http://www.theblog.ca/wplogin-redirect

보인다. 아마도 구식이지만, 필요에 맞는 플러그인을 만드는 것이 쉽지 않을 것입니다.

시작 필터가 login_redirect 인 경우 wp_safe_redirect()에 다른 필터가있어서 차단하려는 도메인을 차단할 수 있습니다.

리디렉션을 모니터링하려면 Better HTTP Redirects Plugin을 확인하십시오.

+0

나는 이미 피터의 리다이렉트 플러그인에 대해 알고있다. 역할에 따라 리디렉션이 필요했지만 내 블로그 이외의 다른 도메인으로 리디렉션 할 수도있었습니다. 그 플러그인이 외부 도메인을 리디렉션 할 수 있는지 보도록하겠습니다. 내 자신의 예외를 추가 할 것입니다. 'wp-login.php' – karanits

+0

@karanits : 다른 방법으로 로그인 리디렉션을 필터링하여 항상 페이지로 이동합니다. 항상 옵션이 필요한 경우 필요합니다. 응용 프로그램이 원하는 작업을 정확하게 수행하도록주의를 기울이는 것이 안전 할 수도 있습니다. – hakre

1

+1 to @hakre. 나는 15 명의 담당자가 없기 때문에 나는 upvote 할 수 없다. Repost incase his

function cleanup_allowed_redirect_hosts($hosts) 
{ 
    $allowed_hosts = array('first.domain.com', 'second.domain.com', 'etc.domain.com'); 
    return array_merge($hosts, $allowed_hosts); 
} 

add_filter('allowed_redirect_hosts', 'cleanup_allowed_redirect_hosts', 10, 1); 
관련 문제