PHP SDK 4.0을 사용하여 Facebook 로그인을 통합하려고했습니다. 모두가 성공적인 로그인 후 페이스 북에서 리디렉션 페이지에없는 HTTP_REFERER
제외하고는 좋은 것입니다 (사용자는 응용 프로그램 및 보조금 요청 허가 권한을 부여합니다.)PHP SDK 4.0을 사용한 Facebook 로그인 통합 - 리디렉션시 HTTP_REFERER가 누락되었습니다.
로그인 페이지 :
<?php
...
$loginHelper = new FacebookRedirectLoginHelper('localhost/login/facebook/verify.php');
$loginURL = $loginHelper->getLoginUrl();
header("Location: $loginURL");
...
?>
verify.php
페이지 :
<?php
if (isset($_SERVER['HTTP_REFERER'])) {
if (strpos($_SERVER['HTTP_REFERER'], 'facebook.com') !== false) {
// Redirected from Facebook
...
}
}
?>
php.net 문서 상태 :
사용자 에이전트를 현재 페이지 으로 안내 한 페이지의 주소 (있을 경우). 이것은 사용자 에이전트에 의해 설정됩니다. 모든 사용자 에이전트가 을 설정하지는 않으며 일부는 HTTP_REFERER를 기능으로 수정하는 기능을 제공합니다. 요컨대, 그것은 정말로 신뢰할 수 없습니다.
그래서이 페이스 북은이 특정 헤더를 설정하지 않았습니까? 아니면 어딘가에서 잘못하고있는 것입니까?
예. Facebook OAuth는 보안 URL을 사용합니다. 따라서 URL이 HTTPS 일 때 리퍼러를 알 수 없습니까? –
URL을 알 수 있습니까? –
가능하면 브라우저의 보안 버그로 간주 될 것이라고 확신합니다. 그리고 왜 그걸 필요로할까요? – WizKid