ホームページ  >  記事  >  バックエンド開発  >  PHPでクロスドメインアクセスの禁止を破る方法

PHPでクロスドメインアクセスの禁止を破る方法

(*-*)浩
(*-*)浩オリジナル
2019-09-20 09:43:063880ブラウズ

クロスドメインとは、1 つのドメイン名の Web ページから別のドメイン名のリソースを要求することを指します。たとえば、www.baidu.com ページから www.google.com のリソースをリクエストします。クロスドメインのより厳密な定義は、プロトコル、ドメイン名、ポートが異なる限り、クロスドメインとみなされます。

PHPでクロスドメインアクセスの禁止を破る方法

Web ページが別の Web サイトのリソースに自由にアクセスできる場合、顧客が完全に知らないうちにセキュリティ上の問題が発生する可能性があるため、デフォルトはクロスドメイン アクセスです。は許可されていません。

さらに、クロスドメイン アクセス構成を許可する必要があります。 は次のとおりです (コンテンツを構成する前に他の出力操作は許可されません): (推奨学習: PHP プログラミング エントリーからマスターまで )

//设置允许跨域的 请求源地址
//方式一:
header("Access-Control-Allow-Origin: *");//允许所有地址跨域请求
//方式二:
header("Access-Control-Allow-Origin: http://localhost:8080");//指定某个地址可以跨域请求,这里只能指定一个
//方式三:如果要允许多个地址跨域请求可以这样写
$origin = ['http://localhost:8080','http://localhost:8081'];
$AllowOrigin = 'http://localhost:8080';
if(in_array($_SERVER["HTTP_ORIGIN"],$origin))
{
    $AllowOrigin = $_SERVER["HTTP_ORIGIN"];
}
header("Access-Control-Allow-Origin: ".$AllowOrigin );
---------------------------------------------------------------------------------
//设置允许的请求方法,可以用*表示所有,
header("Access-Control-Allow-Methods: POST");
---------------------------------------------------------------------------------
//如果允许请求携带cookie,此时 origin配置不能用 *,此时前端似乎也要做配置,让请求中携带cookie
header('Access-Control-Allow-Credentials:true');
---------------------------------------------------------------------------------
//设置允许跨域的请求头,通常会在请求头里面加登录验证信息,那么服务端需要指定允许那些请求头,这里不能用*,多个字段用逗号隔开。
header('Access-Control-Allow-Headers:token');

以上がPHPでクロスドメインアクセスの禁止を破る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。