以php的形式执行图像,重定向到外部站点并以图像的形式返回

以php的形式执行图像,重定向到外部站点并以图像的形式返回,php,image,magento,redirect,nginx,Php,Image,Magento,Redirect,Nginx,我正在为Magento的欺诈检测服务进行图像重定向。该功能的概念是用户点击checkout页面,其中使用iframe发送请求以捕获用户设备的数据。然后,第三方服务返回一个图像,显示请求和重定向成功。这是我的问题: 我正在使用Nginx和php-fpm。我上面描述的iframe按照设计工作。但是,对于非iframe支持,有一种回退,即使用gif而不是iframe来进行重定向。gif实际上是一个php文件,我已经配置了Nginx和phpfpm,允许这个文件作为php执行。如果我直接访问gif,重定向

我正在为Magento的欺诈检测服务进行图像重定向。该功能的概念是用户点击checkout页面,其中使用iframe发送请求以捕获用户设备的数据。然后,第三方服务返回一个图像,显示请求和重定向成功。这是我的问题:

我正在使用Nginx和php-fpm。我上面描述的iframe按照设计工作。但是,对于非iframe支持,有一种回退,即使用gif而不是iframe来进行重定向。gif实际上是一个php文件,我已经配置了Nginx和phpfpm,允许这个文件作为php执行。如果我直接访问gif,重定向工作正常,但当将其作为图像放入页面时,我没有得到预期的重定向

这是logo.gif文件的内容

<!DOCTYPE html>
<html>
    <head>
    <?php
        $m = $_GET['m'];
        $s = $_GET['s'];
        header("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        header("Cache-Control: no-cache");
        header('Content-Type: image/gif');
        header ("HTTP/1.1 302 Found");
        header ("Location: https://3rdpartysite.com/logo.htm?m=$m&s=$s");
        ?>
    </head>
</html>

您能否在签出中包括iframe和img回退的方式

值得注意的是,HTML 5已经取消了对iframe回退的支持,这可能是根本没有调用gif的原因:

撇开这一点不谈,为什么不让PHP呈现图像的直接URL,而不是依赖于hop-through logo.gif?或者使用带有
回退的javascript


我不认为logo.gif是问题的根源,因为您已经证明,当直接访问logo.gif时,它可以正常工作。问题的根源在于调用作用域的实现。

我已将iframe全部取出,只需尝试正确渲染gif即可。我同意为什么不直接用php调用它,但第三方软件要求这样做。你的路径src是否以a/开头?我猜你得到的gif是404,因为它将路径附加到现有的URL。例如/checkout/cart/path/to/image/logo.gif这是html5的一个不错的选择。该网站是在html5中构建的,因此我认为这不会像他们希望的那样起作用。不,对不起,这只是为了举例说明,完全限定的src路径是“”-stackoverflow正在删除我的https,但它是一个安全请求。您还可以将其粘贴到控制台的内容中吗?我怀疑gif根本没有被访问。此外,当通过http | https:src=“//example.com/logo.gif”引用资源时,应该使用显式协议不可知选项