Разбор данных с моей собственной HTML-страницы на стороннюю PHP-страницу - PullRequest
1 голос
/ 30 марта 2012

Я участвую в конкурсе красоты, и мне нужно, чтобы меня выдвинули.

В форме номинации требуются мои данные и мои номинанты.

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

Решение, которое я придумала, состоит в том, чтобы создать HTML-страницу (над которой у меня есть 100% контроль), и она уже содержит мои предварительно заполненные данные, так что номинаторы не запутываются, заполняя мои данные, все, что я нужно спросить у них свои данные.

Теперь я хочу, чтобы моя HTML-форма анализировала детали на другом веб-сайте (веб-сайте организатора соревнований) и автоматически заполняла форму, и все, что нужно для номинантов, - это нажать «Отправить» на веб-сайте соревнования. У меня нет абсолютно никакого контроля над сайтом соревнования, поэтому я не могу добавлять или изменять какой-либо программный код.

Как я могу проанализировать данные со своей собственной HTML-страницы (на 100% под моим контролем) на стороннюю PHP-страницу?

Любые примеры кодирования приветствуются.

Спасибо, хх

Ответы [ 2 ]

1 голос
/ 30 марта 2012

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

0 голосов
/ 30 марта 2012

Форма, которую они используют, отправляет данные формы в почтовый скрипт, который защищен проверкой реферера (как минимум).Вы можете использовать что-то вроде cURL в PHP, чтобы подделать реферера следующим образом (не проверено):

<code>function get_web_page( $url,$curl_data ) 
{ 
    $options = array( 
        CURLOPT_RETURNTRANSFER => true,         // return web page 
        CURLOPT_HEADER         => false,        // don't return headers 
        CURLOPT_FOLLOWLOCATION => true,         // follow redirects 
        CURLOPT_ENCODING       => "",           // handle all encodings 
        CURLOPT_USERAGENT      => "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",     // who am i 
        CURLOPT_CONNECTTIMEOUT => 120,          // timeout on connect 
        CURLOPT_TIMEOUT        => 120,          // timeout on response 
        CURLOPT_MAXREDIRS      => 10,           // stop after 10 redirects 
        CURLOPT_POST           => 1,            // i am sending post data 
        CURLOPT_POSTFIELDS     => $curl_data,    // this are my post vars 
        CURLOPT_SSL_VERIFYHOST => 0,            // don't verify ssl 
        CURLOPT_SSL_VERIFYPEER => false,        // 
        CURLOPT_REFERER        => "http://http://fashionawards.com.mt/nominationform.php",
        CURLOPT_VERBOSE        => 1                // 
    ); 

    $ch      = curl_init($url); 
    curl_setopt_array($ch,$options); 
    $content = curl_exec($ch); 
    $err     = curl_errno($ch); 
    $errmsg  = curl_error($ch) ; 
    $header  = curl_getinfo($ch); 
    curl_close($ch); 

    $header['errno']   = $err; 
    $header['errmsg']  = $errmsg; 
    $header['content'] = $content; 
    return $header; 
} 

$curl_data = "nameandsurname_nominator=XXXX&id_nominator=XXX.....etc...."; 
$url = "http://www.logix.com.mt/cgi-bin/FormMail.pl"; 
$response = get_web_page($url,$curl_data); 

print '<pre>'; 
print_r($response); 
print '
';

В строке, где написано $curl_data = "nameandsurname_nominator=XXXX&id_nominator=XXX.....etc....";, вы можете установить переменные записи в соответствии с их именами в исходной форме.

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

ВНИМАНИЕ: Вы можете легко получить дисквалификацию или столкнуться с юридическими проблемами из-за использования таких методов!Получатель может очень легко заметить, что форма была взломана!

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