我不是要求定期“在我的域上执行php并获取URL”,但是这个:
我在php中显示图片,这里是:http://myservice.com/ShowImage.php?Id=10
所以运营网站BobbyBlog.net的Bobby可以在他的博客上使用这个图像,如:
function
我想知道Bobby已经在他的网站上加载了图像,所以我需要在我的ShowImage.php脚本中拦截它将是“BobbyBlog.net”字符串。我担心这是不可能的PHP因为图像请求与Bobby博客分开。你觉得怎么样?
答案 0 :(得分:0)
据我所知,没有办法捕获哪个网站执行你的脚本,就像你要求的那样。服务器变量$_SERVER['HTTP_REFERER']
设置引用页面(引用您的页面)但我不认为在这种情况下会有任何值。如果我没有弄错的话,大多数编程语言就是这种情况,因为这取决于Web服务器级别,而不是编程语言。这意味着您不能简单地使用Python或Perl并期望它能够正常工作。
编辑:在Web服务器级别,这应该是可能的。链接到其他站点的图像通常称为热链接。有关如何禁用此功能的指南。 Here is one for Apache
Edit2:深入研究这个问题,您可能会检查$_SERVER['HTTP_REFERER']
值。这在this related SO question中有所描述。它还提到,如果通过HTTPS发送,这是不可能的,并且该值可能是欺骗性的。在那些情况下,无法知道原点。希望它有所帮助。