Я работаю над перенаправлением изображения для службы обнаружения мошенничества в Magento. Концепция функциональности заключается в том, что пользователи попадают на страницу проверки, где iframe используется для отправки запроса на захват данных пользовательского устройства. Затем изображение возвращается из сторонней службы, чтобы показать, что запрос и перенаправление были успешными. И вот моя проблема:
Я использую Nginx и php-fpm. IFrame, который я описал выше, работает так, как было разработано. Однако есть резерв для поддержки без iframe, где вместо iframe используется gif, чтобы сделать перенаправление. Gif - это действительно php файл, и я настроил Nginx и php-fpm, чтобы этот один файл выполнялся как 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 fallback включены в оформление заказа?
Возможно, стоит отметить, что HTML 5 удалил поддержку iframe fallback, и, возможно, поэтому gif вообще не вызывается: http://www.quackit.com/html_5/tags/html_iframe_tag.cfm
Отчасти это не так, почему PHP не создает прямой URL-адрес изображения, а не полагается на хоп через логотип.gif? Или используйте javascript с резервным <noscript>
.
Я не верю, что logo.gif является источником проблемы, поскольку вы доказали, что она работает правильно при непосредственном посещении. Источником проблемы является реализация области вызова.