某些网站不允许通过 iframe 嵌入。它们产生以下错误:
Refused to display 'https://news.ycombinator.com/news' in a frame because it
set 'X-Frame-Options' to 'DENY'.
我们的应用程序允许用户提交 URL。我们想在服务器端检查网站是否可以嵌入 iframe 并添加相应的标志。在客户端,我们检查标志,然后嵌入 iframe 或只提供网页的直接链接。
如何检查网站是否支持 iframe?
最佳答案
试试这段代码:
$url = "http://www.google.com/";
$url_headers = get_headers($url);
foreach ($url_headers as $key => $value)
{
$x_frame_options_deny = strpos(strtolower($url_headers[$key]), strtolower('X-Frame-Options: DENY'));
$x_frame_options_sameorigin = strpos(strtolower($url_headers[$key]), strtolower('X-Frame-Options: SAMEORIGIN'));
$x_frame_options_allow_from = strpos(strtolower($url_headers[$key]), strtolower('X-Frame-Options: ALLOW-FROM'));
if ($x_frame_options_deny !== false || $x_frame_options_sameorigin !== false || $x_frame_options_allow_from !== false)
{
echo 'url prevent iframe!';
}
}
关于php - 如何检查 URL 是否可嵌入 PHP 中的 iframe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18702921/