Загрузить не-SSL динамическую страницу (jps), которая делает запросы на iframe на сайте SSL? - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть сайт с сертификатом SSL.Я хочу получить и показать пользователям URL без ssl (расписание поездов) от Болгарской государственной железной дороги, которая не имеет SSL-соединения.Хотя мой сайт не использует SSL, я показал графики через iframe с src = 'http://razpisanie.bdz.bg/mobile/guide.jsp',, но теперь эта функция не работает по понятным причинам.

Болгарские государственные железные дороги также предлагают информацию из электронныхдоски более крупных станций.Для этой функции я создаю php-файл, получаю весь контент из URL и помещаю URL-адрес файла как iframe src

Например:

iframe src="./eltabla-sofia.php"

<?php $elTabla = file_get_contents('http://razpisanie.bdz.bg/mobile/lists.jsp?st=SOFIA'); echo $elTabla; ?>

Также я получаю файлы css, и это работает ивыглядят великолепно (я изменил исходный css вместе с моим), потому что контент загружается один раз и не имеет дальнейших запросов, но в расписании поездов пользователь должен вводить данные со станции и на станцию, чтобы получить расписание на сегодня.

Как мне показать эту не-ssl-страницу, которая делает запрос на мой ssl-сайт?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

По идее Беккереля, вот моя реализация.Подход пока работает без автозаполнения, но скоро будет добавлен список станций:

form.html

<form id="form_51888" class="appnitro"  method="post" action="razpisanie.php">
        <div class="form_description">
            <h1>Моля въведете начална и крайна гара на латиница.</h1>
            <h1>Например: sofia,plovdiv,varna</h1>
        </div>                      
        <ul >
            <li id="li_1" >
                <div>
                    <input id="fromStation" name="fromStation" class="element text medium" type="text" maxlength="50" placeholder="НАЧАЛНА ГАРА" value=""/> 
                </div> 
            </li>       
            <li id="li_2" >
                <div>
                    <input id="toStation" name="toStation" class="element text medium" type="text" maxlength="50" placeholder="КРАЙНА ГАРА" value=""/> 
                </div> 
            </li>

            <li class="buttons">
                    <input type="hidden" name="form_id" value="51888" />                    
                    <input id="saveForm" class="button_text" type="submit" name="submit" value="Търсене" />
            </li>
        </ul>
        </form> 

и php-код razpisanie.php

<?php

    $fromStation = $_POST['fromStation']; // this should be sanitized and validated first
    $toStation = $_POST['toStation'];

    $SanfromStation = filter_var($fromStation, FILTER_SANITIZE_STRING);
    $SantoStation = filter_var($toStation, FILTER_SANITIZE_STRING);

    if ((isset($SanfromStation) && !empty($SanfromStation)) && (isset($SantoStation) && !empty($SantoStation))){
        $content = file_get_contents("http://razpisanie.bdz.bg/mobile/search.jsp?fromstation={$SanfromStation}&tostation={$SantoStation}");

        $contentEnc = iconv('CP1251', 'UTF-8', $content);

        echo $contentEnc;
    }
    else echo 'There is an error';

    ?>

Еще раз спасибо, Беккерель!

0 голосов
/ 27 февраля 2019

Боюсь, что это нелегко сделать, поскольку современные браузеры будут блокировать не-HTTPS-запросы, если вы находитесь на веб-сайте https.

Я думаю, что вашим лучшим вариантом будет создание собственной формы с * 1003поля * и toStation, соберите эту информацию от пользователя на своем веб-сайте, а затем перейдите на веб-сайт железной дороги аналогично тому, как вы делаете, но вместо жестко закодированных URL-адресов будут переменные, предоставленные пользователем

$fromStation = $_GET['fromStation']; // this should be sanitized and validated first
$toStation = $_GET['toStation'];

$content = file_get_contents("http://razpisanie.bdz.bg/mobile/search.jsp?fromstation={$fromStation}&tostation={$toStation}");
echo $content;

Это просто очень простой прототип, и вы потеряете такие вещи, как автозаполнение (если вы не напишите это самостоятельно).Но если болгарские железные дороги не переместят свой сайт по https, я боюсь, что у вас не так много вариантов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...