Выполнить изображение как php, перенаправить на внешний сайт и вернуть как изображение

1

Я работаю над перенаправлением изображения для службы обнаружения мошенничества в 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>
Теги:
nginx
image
redirect
magento

1 ответ

1

Можете ли вы включить способ, в котором 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 является источником проблемы, поскольку вы доказали, что она работает правильно при непосредственном посещении. Источником проблемы является реализация области вызова.

  • 0
    <iframe src = "path / to / logo.htm"> <img src = "path / to / image / logo.gif" /> </ iframe> Я собрал iframe все вместе и просто имею <img src = "path / to / image / logo.gif" /> просто, чтобы попытаться заставить gif правильно отображаться. Я согласен с тем, почему не просто позвонить по php, но стороннее программное обеспечение требует, чтобы это было сделано именно так.
  • 0
    Ваш путь src начинается с / или нет? Я предполагаю, что вы получаете 404 за GIF, потому что он добавляет путь к существующему URL. Например, /checkout/cart/path/to/image/logo.gif
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню