我想创建一个网址,该网址在我的域中的页面中加载时会返回一个图像,而当加载到页面 之外时,会另一个略微修改的图像域。
我正在思考类似的事情:
<?php
header('Content-type: image/jpg');
if (/**image is loaded within my domain**/)
{
readfile("image1.jpg");
}
else
{
readfile("image2.jpg");
}
?>
我是否可以在if语句中添加一些内容以使其正常工作?可能适用于所有浏览器?
有没有办法在没有php的情况下做到这一点?
答案 0 :(得分:3)
您可以在请求中使用引荐来源网址,并检查它是否是您的域名。这是使用$_SERVER['HTTP_REFERER']
完成的。
但是,客户端可以轻松修改HTTP_REFERER URL,有时甚至无法设置,因此在使用时需要小心。
答案 1 :(得分:1)
我不知道,您将如何获取不在您的域中的图片请求,但您可以查看$_SERVER['HTTP_HOST']
。也许,HTTP_REFERER
就是你所需要的。无论如何看here。