간단 할 것 같았습니다. 그러나 재발견 검색 결과를 찾지 못했습니다.PHP를 사용하여 Facebook iframe에 페이지가로드되었는지 확인할 수 있습니까?
iframe의 내 서버에서 페이지를로드하는 내 Facebook 페이지에 페이지 탭이 있습니다. 페이스 북이 요청한 경우에만 페이지를 제공하고 싶습니다.
사용자 에이전트를 살펴 봤지만 작동하지 않습니다. PHP는 적어도 ... 제 생각에는.
자바 스크립트로 리디렉션해야 할 필요가 있지만 그다지 잘못되었습니다.
이상적으로 다음과 같이 보일 것입니다.
<?php
...
if (! $is_facebook)
{
header("HTTP/1.1 404 Not Found");
}
?>
브라우저가 페이스 북이 아니라 가능성이 가장 높습니다. – hakre
이후로 돌아와서 @Floyd가 말한 것처럼 'signed_request'가 있다는 것을 깨닫게되고 사용자가 페이지를 좋아하는지 여부를 알 수 있습니다. 그래서 기본적으로'signed_request'가 없다면 페이지를 제공하지 마십시오. http://developers.facebook.com/docs/appsonfacebook/pagetabs/ – JDavis
또한 리디렉션이 있으면 'signed_request'를 얻을 수 없습니다. 내가 'signed_request'를 얻지 못하는 이유는 모든 비보안 요청을 보안 연결 요청으로 리디렉션했기 때문입니다. 따라서 페이지 탭의 보안되지 않은 URL이 리디렉션되었습니다. 실제로 상태 코드 301 인 'signed_request'를 찾았습니다. – JDavis