PHP скрипт не выполняется - PullRequest
0 голосов
/ 02 апреля 2012

Я использовал решение cURL для решения XSS, но есть проблема с ним. Содержимое моего файла proxy.php: -

<?php
    $url = "http://www.yahoo.com";
    $ch = curl_init();
    $timeout = 5;
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);
    echo $file_contents;
?>

И вот как я пытаюсь выполнить скрипт PHP

$("#tempButton").click(function(){
    $("#pageContent").load('http://localhost:8080/proof/proxy.php',function() {
        var t = $("#pageContent").html();
        alert(t);
    });
});

Но переменная t показывает содержимое файла proxy.php, в то время как ожидается, что он покажет содержимое yahoo.com, которое было установлено в файле proxy.php. Я делаю что-то глупое? # FirstTimePHP

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

Сделайте ваш proxy.php таким.

    <?php
        if(in_array('curl', get_loaded_extensions())) { 
                $url = "http://www.yahoo.com";
                $ch = curl_init();
                $timeout = 5;
                curl_setopt ($ch, CURLOPT_URL, $url);
                curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
                $file_contents = curl_exec($ch);
                curl_close($ch);
                echo $file_contents;
                }
        else {
        echo 'No cUrl here';
        }
?>
1 голос
/ 02 апреля 2012

Поскольку переменная t показывает содержимое файла, серверное программное обеспечение не должно распознавать сценарий как PHP.

Есть несколько причин, по которым это может произойти. Не иметь открывающих тегов будет 1, но у вас, конечно, есть эти.

Другая потенциальная причина в том, что php не был загружен как модуль в серверном программном обеспечении.

Другая потенциальная причина заключается в том, что сервер не анализирует файлы с расширением php (это настраивается).

Вы должны начать с основ. Игнорируйте JavaScript, вместо этого вызовите URL-адрес вручную и посмотрите, что вы получите. Скорее всего, вы увидите код.

Если это произойдет, убедитесь, что серверное программное обеспечение (обычно apache) настроено на распознавание расширения php, связанного с модулем php. Наконец, убедитесь, что PHP действительно правильно установлен.

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