PHP を使用して、ページが iframe に読み込まれているかどうかを確認したいと思います。できれば必要ではありませんが、該当する場合は親の URL を取得したいと思います。ありがとうございました。
9869 次
4 に答える
11
Php は、リクエストが行われたコンテキストを知ることができません。渡されてサーバー変数として利用できるもの以外は何も知りません。ページを iframe に配置するときに使用する URL に独自の get パラメータを追加することもできますが、そうしないとうまくいきません。
于 2012-09-24T23:11:12.303 に答える
5
JavaScript
これには必須です。PHP が確実に知る方法はまったくありません。JavaScriptでは、使用できます
window.top === window.self;
于 2012-09-24T23:15:33.350 に答える
0
PHPグローバル変数$_SEVER["HTTP_REFERER"]でiframeを検出する可能性はあると思います。この変数には、親ウィンドウの URL があります。
于 2014-05-28T10:04:36.320 に答える
0
はい、2021年にPHPの関数URL
でiframeに埋め込むかどうかを確認できるようget_header
になりました。これを以下の関数にしました:
public function allowEmbed($url = 'https://stackoverflow.com/') {
try {
$headers = get_headers($url);
} catch (\Exception $e) {
$headers = [];
}
$blackList = [
'x-frame-options: sameorigin',
'x-frame-options: allow-from',
'x-frame-options: deny',
];
$headers = array_map('strtolower', $headers);
$check = array_intersect($blackList, $headers);
if(!$check) {
return ['status' => 1, 'message' => 'Passed'];
} else {
return ['status' => 0, 'message' => 'Fail'];
}
}
于 2021-08-11T09:18:25.620 に答える