1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Mixed Content

Тема в разделе "Web Coding", создана пользователем borodatych, 14 янв 2017.

Модераторы: latteo
  1. borodatych

    borodatych Постоялец

    Регистр.:
    24 июн 2016
    Сообщения:
    96
    Симпатии:
    56
    Здравствуйте.

    Перевели сайт на https, но есть внешний сервис, к которому бегаем за данными, который работает только по http.
    Подскажите, кто сталкивался, как обиграть ситуацию?
     
  2. NightHunter

    NightHunter Экзорцист

    Moderator
    Регистр.:
    25 фев 2014
    Сообщения:
    605
    Симпатии:
    580
    Походу никак...если внешний не работает по https, то никак) Есть типа чтобы принудительно все шло через https, но тогда вы с того сайта, ничего не получите.
     
    borodatych нравится это.
  3. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.591
    Симпатии:
    1.495
    Написать прокси скрипт, который будет подменять запросы и реально отдавать картинку с вашего сайта. Ну или слить всё с сайта к себе на сервер
     
    Цуиьфыеук и borodatych нравится это.
  4. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    637
    Симпатии:
    1.434
    <a href="//site.ru/img.png"> более корректно
     
  5. alicexes

    alicexes Создатель

    Регистр.:
    31 окт 2014
    Сообщения:
    11
    Симпатии:
    1
    Это работает только если сайт с изображениями также поддерживает протокол HTTPS
     
  6. Clarus

    Clarus Постоялец

    Регистр.:
    3 окт 2014
    Сообщения:
    80
    Симпатии:
    50
    Или исключить и зафорсить директивами в htaccess урл страниц(ы), с которой будет подгружаться изображение, отдавать её через http, например:
    Код:
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{THE_REQUEST} !/exclude_url/ [NC]
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    RewriteCond %{HTTPS} on
    RewriteCond %{THE_REQUEST} /exclude_url/ [NC]
    RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
     
  7. Deliv

    Deliv Писатель

    Регистр.:
    15 июн 2016
    Сообщения:
    8
    Симпатии:
    1
    Посмотрите исходный код и измените http на https
     
  8. chicha

    chicha Создатель

    Регистр.:
    21 май 2012
    Сообщения:
    23
    Симпатии:
    6
    Либо добавте Хидери
    Upgrade-Insecure-Requests: 1

    или
    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    как указано в документации:
    https://developer.mozilla.org/en-US...ent-Security-Policy/upgrade-insecure-requests
     
  9. Цуиьфыеук

    Цуиьфыеук Создатель

    Регистр.:
    15 янв 2018
    Сообщения:
    40
    Симпатии:
    16
    Я тоже за прокси-скрипт.
    Если файлов данных много, то можно сразу одним скриптом несколько файлов выкачать и у себя сохранить при первом запросе.
     
  10. Mr.Varenik

    Mr.Varenik

    Регистр.:
    5 янв 2018
    Сообщения:
    295
    Симпатии:
    43
    Внешний сервис я так понял сторонний? Вам не принадлежит? Тогда только прокси