Facebook SDK가 오류를 반환했습니다. 교차 사이트 요청 위조 유효성 검사에 실패했습니다.URL과 세션의 "상태" 매개 변수가 일치하지 않습니다.
이렇게 php sdk를 사용하여 페이스북 사용자 ID를 얻으려고 합니다.
$fb = new Facebook\Facebook([
'app_id' => '11111111111',
'app_secret' => '1111222211111112222',
'default_graph_version' => 'v2.4',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['public_profile','email']; // Optional permissions
$loginUrl = $helper->getLoginUrl('http://MyWebSite', $permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
try {
$accessToken = $helper->getAccessToken();
var_dump($accessToken);
} catch (Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch (Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (!isset($accessToken)) {
if ($helper->getError()) {
header('HTTP/1.0 401 Unauthorized');
echo "Error: " . $helper->getError() . "\n";
echo "Error Code: " . $helper->getErrorCode() . "\n";
echo "Error Reason: " . $helper->getErrorReason() . "\n";
echo "Error Description: " . $helper->getErrorDescription() . "\n";
} else {
header('HTTP/1.0 400 Bad Request');
echo 'Bad request';
}
exit;
}
// Logged in
echo '<h3>Access Token</h3>';
var_dump($accessToken->getValue());
// The OAuth 2.0 client handler helps us manage access tokens
$oAuth2Client = $fb->getOAuth2Client();
// Get the access token metadata from /debug_token
$tokenMetadata = $oAuth2Client->debugToken($accessToken);
echo '<h3>Metadata</h3>';
var_dump($tokenMetadata);
// Validation (these will throw FacebookSDKException's when they fail)
$tokenMetadata->validateAppId($config['11111111111']);
// If you know the user ID this access token belongs to, you can validate it here
//$tokenMetadata->validateUserId('123');
$tokenMetadata->validateExpiration();
if (!$accessToken->isLongLived()) {
// Exchanges a short-lived access token for a long-lived one
try {
$accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);
} catch (Facebook\Exceptions\FacebookSDKException $e) {
echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n";
exit;
}
echo '<h3>Long-lived</h3>';
var_dump($accessToken->getValue());
}
$_SESSION['fb_access_token'] = (string)$accessToken;
다음 오류가 발생합니다.
Facebook SDK returned an error:
Cross-site request forgery validation failed.
The "state" param from the URL and session do not match.
php와 Facebook sdk에 새로 온 도움에 대해 미리 감사 드립니다.
로그인 URL을 생성하기 전에 PHP 세션을 활성화하고 최종적으로 Facebook이 리다이렉트하는 스크립트의 맨 위에 있는 한 쿠키를 설정하지 않아도 (alle500의 답변에 따라) 정상적으로 동작한다는 것을 알게 되었습니다.이것은 5.1 버전의 SDK를 사용하고 있습니다.
두 스크립트의 맨 위에...
if(!session_id()) {
session_start();
}
...그리고 "그냥 먹혔어요.
다음은 나에게 효과가 있었던 베어본의 완전한 예입니다.
auth.displays(인증)
if (!session_id()) {
session_start();
}
$oFB = new Facebook\Facebook([
'app_id' => FACEBOOK_APP_ID,
'app_secret' => FACEBOOK_APP_SECRET
]);
$oHelper = self::$oFB->getRedirectLoginHelper();
$sURL = $oHelper->getLoginUrl(FACEBOOK_AUTH_CALLBACK, FACEBOOK_PERMISSIONS);
// Redirect or show link to user.
auth_callback.php
if (!session_id()) {
session_start();
}
$oFB = new Facebook\Facebook([
'app_id' => FACEBOOK_APP_ID,
'app_secret' => FACEBOOK_APP_SECRET
]);
$oHelper = self::$oFB->getRedirectLoginHelper();
$oAccessToken = $oHelper->getAccessToken();
if ($oAccessToken !== null) {
$oResponse = self::$oFB->get('/me?fields=id,name,email', $oAccessToken);
print_r($oResponse->getGraphUser());
}
왜요?
추가 참고 사항으로, 이는 repo의 Docs에 설명되어 있습니다.이 페이지의 경고를 보세요.
경고:Facebook Redirect 로그인도우미는 세션을 사용하여 CSRF 값을 저장합니다.getLoginUrl() 메서드를 호출하기 전에 세션을 활성화해야 합니다.이는 보통 대부분의 웹 프레임워크에서 자동으로 수행되지만 웹 프레임워크를 사용하지 않는 경우 로그인 상단에 session_start();를 추가할 수 있습니다.php 및 login-callback.php 스크립트.기본 세션 처리를 덮어쓸 수 있습니다. 아래 확장성 포인트를 참조하십시오.
사용자가 자신의 세션 관리를 실행하거나 여러 웹 서버를 병렬로 실행하는 경우 주의하는 것이 중요하기 때문에 이 메모를 추가합니다.이 경우 php의 기본 세션 메서드에 의존하는 것이 항상 작동하지는 않습니다.
$syslog = $fb-> getRedirectLogin 뒤에 이 코드를 삽입합니다.도우미();
$_SESSION['FBRLH_state']=$_GET['state'];
이미 언급한 많은 훌륭한 답변들이 있지만, 여기 저에게 도움이 된 답변이 있습니다.
크로스 사이트 요청 위조 검증 실패에 문제가 있음을 알게 되었습니다. FB 코드에 필수 파라미터의 "상태"가 누락되어 있습니다.해결방법은 다음과 같습니다.
이 행 뒤에
$helper = $fb->getRedirectLoginHelper();
아래 코드를 추가합니다.
if (isset($_GET['state'])) {
$helper->getPersistentDataHandler()->set('state', $_GET['state']);
}
Symfony2에서 Facebook SDK를 사용하여 API의 데이터를 템플릿으로 표시하는 Twig Extension을 작성할 때 이 오류가 발생했습니다.
제 해결책은 다음과 같은 것들을 추가하는 것이었습니다.'persistent_data_handler'=>'session'Facebook 오브젝트Configuration으로 이행하면 스테이트 데이터가 메모리 대신 세션키에 저장됩니다.
$fb = new Facebook\Facebook([
'app_id' => 'APP_ID',
'app_secret' => 'APP_SECRET',
'default_graph_version' => 'v2.4',
'persistent_data_handler'=>'session'
]);
디폴트로는 내장 메모리 핸들러를 사용하고 있었지만, 나에게는 정상적으로 동작하지 않았습니다.SDK를 일반 컨트롤러/서비스로만 사용하는 경우 메모리 핸들러가 작동하기 때문에 Twig Extension 내에서 일부 함수가 호출되기 때문일 수 있습니다.
는, 되어 있는 것 .getLoginUrl()를 호출하면 getAccessToken()된 가 반환되는 null(데이터 핸들러가 필요한 만큼 지속적이지 않기 때문에) CSRF 검증 체크는 실패합니다.
을 특정 또는 다른 에 보존할 가 있는 는, 「」를 사용해 인 핸들러를 .'persistent_data_handler' => new MyPersistentDataHandler()를 들어의 를 합니다SessionPersistentDataHandler 。
이 문제는 Facebook 라이브러리가 Facebook에서 받은 상태 파라미터와 세션에서 기본적으로 설정된 상태 파라미터를 일치시킬 수 없는 경우에 발생합니다.Laravel, Yii2, Kohana와 같은 프레임워크를 사용하여 자체 세션 스토리지를 구현하는 경우 표준 Facebook 세션 구현이 작동하지 않을 수 있습니다.
하려면 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,PersistentDataInterface의 세션라이브러리를 하고, 을 「」에 합니다.Facebook\Facebook컨스트럭터
다음은 Facebook의 Larabel 퍼시스텐스 핸들러의 예입니다.
use Facebook\PersistentData\PersistentDataInterface;
class MyLaravelPersistentDataHandler implements PersistentDataInterface
{
/**
* @var string Prefix to use for session variables.
*/
protected $sessionPrefix = 'FBRLH_';
/**
* @inheritdoc
*/
public function get($key)
{
return \Session::get($this->sessionPrefix . $key);
}
/**
* @inheritdoc
*/
public function set($key, $value)
{
\Session::put($this->sessionPrefix . $key, $value);
}
}
생성자 매개 변수 예제:
$fb = new Facebook\Facebook([
// . . .
'persistent_data_handler' => new MyLaravelPersistentDataHandler(),
// . . .
]);
자세한 내용은 이쪽:https://developers.facebook.com/docs/php/PersistentDataInterface/5.0.0
마지막으로, FB 코드를 조사했을 때, 나는 그 문제가
사이트 간 요청 위조 유효성 검사에 실패했습니다.필수 매개 변수 "상태" 누락
변수 similars PHP에 합니다.$_SESSION['FBRLH_state']FB가 로그인 콜백파일을 호출할 때, 어떠한 「이상한」이유가 발생합니다.
을 해결하기 는 이 합니다."FBRLH_state" 후 " " " "$helper->getLoginUrl(...)하는 것이 매우 가 있기 입니다.이 함수는 변수가 이 함수의 내부에 있기 때문입니다.$_SESSION['FBRLH_state']을 사용하다
다음은 로그인 시 코드 예시입니다.php:
$uri=$helper->getLoginUrl($uri, $permissions);
foreach ($_SESSION as $k=>$v) {
if(strpos($k, "FBRLH_")!==FALSE) {
if(!setcookie($k, $v)) {
//what??
} else {
$_COOKIE[$k]=$v;
}
}
}
var_dump($_COOKIE);
로그인 콜백에도 포함됩니다.모든 FB 코드를 호출하기 전에 php:
foreach ($_COOKIE as $k=>$v) {
if(strpos($k, "FBRLH_")!==FALSE) {
$_SESSION[$k]=$v;
}
}
마지막으로 PHP 세션용 코드를 포함시키는 것도 잊지 마십시오.
if(!session_id()) {
session_start();
}
...
...
...
...
<?php session_write_close() ?>
이 답변으로 8~10시간의 작업시간을 단축할 수 있기를 바랍니다:) 안녕히 계세요, 알렉스.
저에게 문제는 스크립트 전에 세션을 진행하지 않았다는 것입니다.
이렇게 덧붙였습니다.session_start();를 하기 전에Facebook를 누릅니다
에는 Facebook이라는 .persistentDataHandler 의 예입니다.FacebookSessionPersistentDataHandler네이티브 PHP 세션에 액세스하기 위한 세트와 get 메서드가 있습니다.
다음 명령을 사용하여 콜백 URL을 생성할 때:
$loginUrl = $helper->getLoginUrl($callback_url, $permissions);
'''FacebookRedirectLoginHelper->getLoginUrl()는 32 랜덤 문자열을 하여 32 문자의 에 추가합니다.$loginUrl 다음 해 주세요.persistentDataHandler아, 아, 아, 아, 아, 아, 아, 네.
$_SESSION['FBRLH_' . 'state']
에 ★★★★★★★★★★★★★★★ ★$helper->getAccessToken();이 호출되면 CSRF를 방지하기 위해 URL 내의 상태 파라미터가 같은 세션에 저장되어 있는 파라미터와 비교됩니다.이치노
: 사이트 간 요청 위조 검증에 실패했습니다
FacebookSDKException.필수 매개 변수 "상태"가 없습니다.
이 모든 것을 고려하면, 이 프로세스에서 네이티브 PHP 세션 기능이 올바르게 설정되어 있는지 확인해야 합니다.다음을 추가하여 확인할 수 있습니다.
die($_SESSION['FBRLH_' . 'state']);
끝나고
$loginUrl = $helper->getLoginUrl($callback_url, $permissions);
그리고 그 전에
$accessToken = $helper->getAccessToken();
32글자의 문자열이 있는지 확인합니다.
도움이 됐으면 좋겠다!
Symfony에서는 세션이 관리되기 때문에 작동하지 않습니다.
이 문제를 해결하려면 Symbony 세션에서 작업하는 새 핸들러를 만들 수 있습니다.
Facebook Data Handler Symfony.php :
<?php
use Facebook\PersistentData\PersistentDataInterface;
use Symfony\Component\HttpFoundation\Session\Session;
class FacebookDataHandlerSymfony implements PersistentDataInterface
{
private $session;
public function __construct()
{
$this->session = new Session();
}
public function get($key)
{
return $this->session->get('FBRLH_' . $key);
}
public function set($key, $value)
{
$this->session->set('FBRLH_' . $key, $value);
}
}
FB 오브젝트를 작성할 때는 새로운 클래스를 지정하기만 하면 됩니다.
$this->fb = new Facebook([
'app_id' => '1234',
'app_secret' => '1324',
'default_graph_version' => 'v2.8',
'persistent_data_handler' => new FacebookDataHandlerSymfony()
]);
5.4레벨에서도 같은 문제가 발생했습니다.
session_start();
스크립트 맨 위에 있습니다.
다음으로 동작 예를 제시하기 위한 샘플 라라벨 컨트롤러 네임스페이스를 나타냅니다.
<?php
namespace App\Http\Controllers;
session_start();
use Facebook\Facebook as Facebook;
?>
이 문제는 아직 시작되지 않았기 때문에 발생합니다.스크립트 상단에 세션 시작을 추가하여 세션을 시작합니다.
누군가에게 도움이 되길..
이 에러는, 송신원호스트명이, 인증이 끝난 후의 타겟호스트명과 다른 경우에 표시됩니다.
$loginUrl = $helper->getLoginUrl('http://MyWebSite', $permissions);
이 문구를 사용하여 웹 사이트의 방문자가 http://www.mywebsite.com/을 사용한 경우 크로스 사이트 오류가 발생합니다.
송신원호스트명과 타겟호스트명이, 최종적인 www 프리픽스를 포함해 완전하게 같은 것을 확인할 필요가 있습니다.
고정 버전:
$loginUrl = $helper->getLoginUrl('http://'.$_SERVER['SERVER_NAME'], $permissions);
조금 늦을 수도 있지만 아직 문제가 남아있기 때문에 다른 사람들에게 도움이 되었으면 합니다.
한동안 이 문제가 있었습니다.여러 가지 방법을 찾아봤는데 CSRF 체크를 무효로 하는 경우가 많았습니다.그래서 내가 읽은 모든 것들 후에, 이것이 나에게 효과가 있었다.
리다이렉트 URL이 앱 설정에서 설정한 URL과 일치하지 않는 경우 이 오류가 발생하는 것으로 알고 있습니다.따라서 문제는 쉽게 해결되지만 세션이 제대로 시작되지 않아 문제가 발생하는 경우도 있으므로 두 가지 모두에 대해 설명하겠습니다.
1단계: 세션이 필요할 때 시작되었는지 확인합니다.
예를 들어 fb-config 입니다.php
session_start();
include_once 'path/to/Facebook/autoload.php';
$fb = new \Facebook\Facebook([
'app_id' => 'your_app_id',
'app_secret' => 'your_secret_app_id',
'default_graph_version' => 'v2.10'
]);
$helper = $fb->getRedirectLoginHelper();
Facebook 콜백코드가 설정 이외의 다른 파일에 있는 경우는, 그 파일에서도 세션을 개시합니다.
예를 들어 fb-callback 입니다.php
session_start();
include_once 'path/to/fb-config.php';
try {
$accessToken = $helper->getAccessToken();
} catch (\Facebook\Exceptions\FacebookResponseException $e) {
echo "Response Exception: " . $e->getMessage();
exit();
} catch (\Facebook\Exceptions\FacebookSDKException $e) {
echo "SDK Exception: " . $e->getMessage();
exit();
}
/** THE REST OF YOUR CALLBACK CODE **/
자, 무엇이 나의 실제 문제를 해결했는가.
3단계: 앱 설정에서 리디렉션 URL을 설정합니다.
Facebook 로그인 앱 설정에서 fb-callback을 가리키는 URL을 추가했어야 하는 유효한 OAuth 리디렉션 URI로 이동합니다.php 파일.
http://example.com/fb-callback.php
AND ALSO
http://www.example.com/fb-callback.php
다음으로 리다이렉트 URL을 다음과 같이 설정합니다.
$redirectURL = "http://".$_SERVER['SERVER_NAME']."/fb-callback.php";
$permissions = ['email'];
$fLoginURL = $helper->getLoginUrl($redirectURL, $permissions);
www 유무와 server_NAME을 모두 사용하는 이유
유효한 OAuth 리다이렉트 URI는 코드의 리다이렉트 URL과 일치해야 하며 앱 설정에서 OAuth 리다이렉트만 http://example.com/fb-callback.php으로 설정하고 $setup을 해야 하기 때문입니다.URL을 http://example.com/fb-bacllback.php 로 하여 일치시키지만 사용자는 http://www.example.com 로서 당신의 사이트를 입력했습니다.그러면 사용자는 Facebook SDK 오류: Cross-site request failed failed 가 표시됩니다. 사용자가 있는 URL이 설정한 것과 정확히 일치하지 않기 때문에 영구 데이터에서 필수 매개 변수 "상태"가 누락되었습니다. 이유는 무엇입니까?나도 전혀 모르겠어
제 접근법에서는 사용자가 http://example.com 또는 http://www.example.com으로 사이트에 들어가면 앱 설정에서 설정한 것과 항상 일치합니다.왜냐하면 $_SERVER['SERVER_NAME']는 사용자가 브라우저에서 URL을 입력했는지에 따라 www 유무에 관계없이 도메인을 반환하기 때문입니다.
이것이 저의 조사결과이며, CSRF 체크를 제거하지 않고 지금까지 문제없이 작동한 유일한 결과입니다.
이게 도움이 됐으면 좋겠어요.
이렇게 하면 새 상태와의 세션을 설정할 수 있습니다.
<?php
if(isset($_GET['state'])) {
if($_SESSION['FBRLH_' . 'state']) {
$_SESSION['FBRLH_' . 'state'] = $_GET['state'];
}
}
?>
내 경우 오류를 확인하고 코드를 실행하는 문제를 해결하는 데 도움이 되는 오류를 발견했습니다.
date_default_timezone_set('Europe/Istanbul');
를 참조해 주세요.마법처럼 작동했어.사용하시는 장소에 대해서는, timezones.europe 를 확인해 주세요.php
난 쉽게 고칠 수 있어.변경:
$loginUrl = $helper->getLoginUrl('http://www.MYWEBSITE.ca/index_callback.php', $permissions);
대상:
$loginUrl = $helper->getLoginUrl('http://MYWEBSITE.ca/index_callback.php', $permissions);
의 삭제'www'제를해해 해해해다다
이 에러는, 송신원호스트명이 타겟의 호스트명과 다른 경우(Souch가 말한 대로) 트리거 됩니다.방문자가 URL 주소 상자에 "http://www.website.com"과 다른 "http://website.com"로 입력했을 때다음 코드를 session_start()의 맨 위 위치에 추가하여 올바른 URL로 수정합니다.
if($_SERVER['HTTP_HOST']!=='www.website.com'){
header('location: http://www.website.com');
}
나에게 적합한 Yii2 솔루션:
use Facebook\PersistentData\PersistentDataInterface;
use Yii;
class PersistentDataHandler implements PersistentDataInterface
{
/**
* @var string Prefix to use for session variables.
*/
protected $sessionPrefix = 'FBRLH_';
public function get($key)
{
return Yii::$app->session->get($this->sessionPrefix . $key);
}
public function set($key, $value)
{
Yii::$app->session->set($this->sessionPrefix . $key, $value);
}
}
발신인 주소에 "www"를 추가하는 것을 잊어버려서 같은 오류가 발생했습니다.Client-OAuth 설정에는 올바른 이름이 있어야 합니다.
이것은 FB API에서 많은 사람들이 직면하는 일반적인 문제입니다.이것은 SESSION 문제일 뿐입니다.이 문제를 해결하려면 다음과 같은 코드를 추가합니다.
콜백 스크립트에서는 보통 fb-callback이 사용됩니다.php facebook 자동 로드 파일을 포함하기 직전에 "session_start();"를 추가하고 "$_SESS"를 추가합니다.ION ['FBRLH_state']=$_GET['state'];" = $fb -> getRedirectLogin = $fb -> getRedirectLogin" 뒤에 표시됩니다.Helper();" 행.
예:
<?php
session_start();
include 'vendor/autoload.php';
include 'config.php'; /*Facebook Config*/
$helper = $fb->getRedirectLoginHelper();
$_SESSION['FBRLH_state']=$_GET['state'];
try {
$accessToken = $helper->getAccessToken();
} ?>
사용자 인증을 위해 프런트엔드에서 Javascript Helper를 사용하고 있으며 PHP에서는 Redirect Login Helper에서 access_token을 추출하려고 하는 사용자에게 도움이 될 수 있습니다.따라서 다음을 사용합니다.
getJavaScriptHelper();
대신
getRedirectLoginHelper();
간헐적 문제 해결 방법
a) Facebook 로그인 링크, b) 로그인을 리다이렉트하고 있었습니다.php를 main.display로 이동합니다.사용자들은 메인으로 이동할 것이다.php 및 기타 몇 개의 페이지를 클릭한 후 브라우저에서 다시 클릭합니다.
결국 로그인을 하게 됩니다.php에 다수의 credential이 게시되어 있지만 페이스북은 $_SESS를 삭제합니다.ION['FBRLH_state']는 1회 성공 후이기 때문에 $_GET['state']가 적절한 경우에도 오류가 발생합니다.
a) 사용자가 로그인하고 있는지 내부적으로 추적하여 로그인 시 Facebook 로직이 반복되지 않도록 하는 것이 해결책입니다.php, OR b) Facebook에 의해 설정된 특정 사용자(세션 내)의 최근 유효한 상태 파라미터를 모두 추적하고 $_GET['state']가 해당 배열에 있는 경우 다음을 수행합니다.
$_SESSION['FBRLH_state']= $_GET['state'];
이 경우 CSRF 보호를 해제하지 않고 안전하게 실행할 수 있습니다.
세션 상태 설정이 작동했습니다.
완전한 코드(redirect url php )
$accessToken = '';
$helper = $fb->getRedirectLoginHelper();
if(isset($_GET['state'])){
$_SESSION['FBRLH_state']=$_GET['state'];
}
try {
$accessToken = $helper->getAccessToken();
} catch ( Facebook\Exceptions\FacebookResponseException $e ) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
}
Symfony와 장난을 치고 있는데 이 문제를 한 번은 예스, 다음 번에는 아니오로 하고 있었습니다.facebook Redirect Login을 저장하여 이 문제를 해결했습니다.도우미 오브젝트를 세션으로 가져와서 나중에 Facebook 오브젝트에 다시 요청하지 않고 세션에서 가져옵니다.
이 문서(본 문서의 시점에서는 Symfony 4.3)에는 다음과 같이 기술되어 있습니다.
세션 클래스를 사용하기 전에 PHP 세션이 아직 시작되지 않았는지 확인하십시오.세션을 시작하는 레거시 세션 시스템이 있는 경우 레거시 세션을 참조하십시오.
Symfony 세션은 여러 네이티브 PHP 기능을 대체하도록 설계되었습니다.응용 프로그램에서는 session_startsession_session_idsession_idsession_idsession_session_name 및 session_session() 사용을 피하고 다음 항의 API를 사용해야 합니다.
세션을 명시적으로 시작하는 것이 권장되지만 세션은 실제로 온 디맨드(세션 데이터 읽기/쓰기 요청이 있을 경우)로 시작됩니다.
따라서 세션에서 개체를 가져오면 본질적으로 php 세션이 시작됩니다.
php 프레임워크를 사용하고 있는 경우는, 이 점에 주의해 주세요.
저는 문제가 달랐어요; (제가 바보였어요)로그인/가입 페이지에 페이스북 로그인 버튼이 있는 팝업창이 떴습니다.
- 다른 페이지에서 팝업으로 Facebook 버튼을 클릭할 때마다 정상적으로 동작했습니다.
- 단, 로그인/가입 페이지에서 팝업으로 페이스북 버튼을 클릭해도 동작하지 않습니다.
그 이유는 페이스북을 재설치하고 Redirect Login을 받았기 때문입니다.도우미 오브젝트Login/Signup 페이지에는 이미 준비되어 있기 때문에 이러한 문장은 코멘트를 해야 했습니다.
$_SESSION['FBRLH_state']=$_GET['state'];
가야 할 길이 아니야효과가 있긴 했지만.
오류가 계속 나타나면 브라우저 캐시를 삭제하십시오.enobrev 솔루션을 사용하여 문제를 해결했을 때 오류가 계속 발생하고 있었습니다.잠시 후 캐시를 정리해야 한다는 것을 알게 되었고 브라우저를 재시작한 후 캐시가 작동하게 되었습니다.
언급URL : https://stackoverflow.com/questions/32029116/facebook-sdk-returned-an-error-cross-site-request-forgery-validation-failed-th
'codememo' 카테고리의 다른 글
| 일부 테스트에서 페이지 전체를 새로고침했습니다.Jasmine 테스트 실행 중 오류가 발생했습니다. (0) | 2023.03.19 |
|---|---|
| MongoDB 클러스터란? (0) | 2023.03.19 |
| react-router 4.0, react-router-dom 및 react-router-redux의 차이점은 무엇입니까? (0) | 2023.03.19 |
| jQuery를 사용하여 Accept HTTP 헤더를 올바르게 설정할 수 없습니다. (0) | 2023.03.19 |
| 각도의 ng클릭 이벤트 위임 (0) | 2023.03.19 |