我正在为慈善事业筹建一些小部件。由于某些徽标许可Malarkey,我必须找到某种方法仅允许白名单上的网站运行代码,或者发送错误消息(或类似的东西)而不是小部件。
我们必须使用iFrame,因为很少有网站已经嵌入了它们。
理想情况下,PHP解决方案是最好的,但是如果需要,JS也可以。
因此,一类类轮;我可以检查iFrame所在的域并向其发送其他内容吗?
我不知道能够做到这一点的机会是什么...
最佳答案
您可以使用HTTP_REFERER header 。
<?php
$allowed_domains = array(
'a-good-domain.com',
'another-nice-one.org',
);
$allowed = false;
foreach ($allowed_domains as $a) {
if (preg_match("@https?://$a/.*@", $_SERVER['HTTP_REFERER'])) {
$allowed = true;
}
}
if ($allowed)
echo "Nice domain";
else
echo "Ugly domain";