2010-01-15 3 views
0

Я пытался автоматически войти в систему на определенную веб-страницу, но пока не успел.PHP cUrl mimic web login

Я был бы очень признателен за любую помощь, чтобы заставить меня двигаться ....

Это URL для страницы входа:

https://www.cellcom.co.il/login/pages/default.aspx

Первое поле для ввода имени пользователя и второй для пароля.

Я использую заголовок HTTP Живой подключить, но не удалось войти.

Спасибо.


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

Как получить значение поля формы POST? (я видел значение, глядя на исходном коде формы)

Я также заметил, что есть небольшая строка в конце, что динамически изменяется

Вот пример для этой строки:

1) __ EVENTVALIDATION =% 2FwEWBQLh6fTmCwLEh% 2FPQBQLquryWCwLdkfOzBAKJwsCnBDoiuyJEoeA1mA05RcQwJ0YqLNx4

2) __ EVENTVALIDATION =% 2FwEWBQLj% 2BKPzBgLEh% 2FPQBQLquryWCwLdkfOzBAKJwsCnBELoi3vgs% 2BqAdCbcwk% 2BkyCQwEq30

Кто-нибудь знает, как сгенерировать эту строку? Связано ли это с датой или что-то вроде этого?

Благодаря

EDIT: все значения динамически встроены в исходный HTTP файл. Можно ли легко анализировать эти значения с помощью PHP? Если да, то как?

+1

Пожалуйста, покажите нам, что все вы сделали до сих пор, код мудрый. – codaddict

+0

Это шаблон, который я использую: http://www.mediafire.com/?yyn0yt4ezxy Спасибо – Embedded

ответ

0

Все еще нет успеха. Я думаю, что мне не хватает мельчайших деталей.

здесь форма POST:

форма имя = метод "aspnetForm" = "пост" действие = "по умолчанию.ASPX»ID = "aspnetForm" автозаполнения = "выключено" типа =

ввода "спрятана" имя = "__ SPSCEditMenu" ID = "__" значение = "истинный"/ тип входного = "скрытые" Имя = "SPSCEditMenu MSOWebPartPage_PostbackSource" id = "MSOWebPartPage_PostbackSource" value = ""/ input type = "hidden" name = "MSOTlPn_SelectedWpId" id = "MSOTlPn_SelectedWpId" value = "" /> Тип ввода = "скрытое" имя = "MSOTlPn_View" id = "MSOTlPn_View" значение = "0" />

тип входного = "скрытые" имя = идентификатор = значение "MSOTlPn_ShowSettings" "MSOTlPn_ShowSettings" = "скрытый" имя "False" /> входной тип = "MSOGallery_SelectedLibrary" ID = "MSOGallery_SelectedLibrary "value =" "/> input type =" hidden "name =" MSOG allery_FilterString "id =" MSOGallery_FilterString "value =" "/> input type =" hidden "name =" MSOTlPn_Button "id =" MSOTlPn_Button "value =" none "/> Тип ввода =" скрытое "имя =" __ REQUESTDIGEST "id = "__ REQUESTDIGEST" значение = "0xFFD5F7BB65113ADA485BE8F57AF640C45348305D1590E21AEF42305F6FB76DAF255DAD98F5110B3065ADAC1AE647B87F1309481C513057EC9C2C9EB5C71770D4,15 январь 2010 19:29:23 -0000" /> входных типа = "скрытое" имя = "MSOAuthoringConsole_FormContext" идентификатор = значение "MSOAuthoringConsole_FormContext" = "" /> типа входного =» hidden = name = "MSOAC_EditDuringWorkflow" id = "MSOAC_EditDuringWorkflow" value = "" /> Тип ввода = = "MSOWebPartPage_Shared" id = "MSOWebPartPage_Shared" value = "" /> input type = "hidden" name = "MSOLayout_LayoutChanges" id = "MSOLayout_LayoutChanges" value = "" /> input type = "hidden" name = "MSOLayout_InDesignMode" id = "MSOLayout_InDesignMode" value = "" /> Тип ввода = "скрытый" имя = "MSOSPWebPartManager_OldDisplayModeName" идентификатор = значение "MSOSPWebPartManager_OldDisplayModeName" = /> входной тип = "скрытый" имя "Просмотр" = "MSOSPWebPartManager_StartWebPartEditingName" идентификатор = значение "MSOSPWebPartManager_StartWebPartEditingName" = "ложь" /> входной тип = "скрытый "название =" __ VIEWSTATE»ID = "__ VIEWSTATE" значение = "/ wEPDwUBMA9kFgJmD2QWAgIBDxYCH =="/>

и это код, я использую: функция HTTP ($ цель, $ исх, метод $, $ data_array , $ incl_head) { # Инициализировать дескриптор PHP/CURL $ ch = curl_init();

# HEAD method configuration 
if($method == HEAD) 
    { 
    curl_setopt($ch, CURLOPT_HEADER, TRUE);    // No http head 
    curl_setopt($ch, CURLOPT_NOBODY, TRUE);    // Return body 
    } 
else 
    { 
    # GET method configuration 
    if($method == GET) 
     { 
     if(isset($query_string)) 
      $target = $target . "?" . $query_string; 
     curl_setopt ($ch, CURLOPT_HTTPGET, TRUE); 
     curl_setopt ($ch, CURLOPT_POST, FALSE); 
     } 
    # POST method configuration 
    if($method == POST) 
     { 
     if(isset($data_array)) 
      curl_setopt ($ch, CURLOPT_POSTFIELDS, $data_array); 
     curl_setopt ($ch, CURLOPT_POST, TRUE); 
     curl_setopt ($ch, CURLOPT_HTTPGET, FALSE); 
     } 
    curl_setopt($ch, CURLOPT_HEADER, $incl_head); // Include head as needed 
    curl_setopt($ch, CURLOPT_NOBODY, FALSE);  // Return body 
    } 

curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); // Cookie management. 
curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE_FILE); 
curl_setopt($ch, CURLOPT_TIMEOUT, CURL_TIMEOUT); // Timeout 
curl_setopt($ch, CURLOPT_USERAGENT, WEBBOT_NAME); // Webbot name 
curl_setopt($ch, CURLOPT_URL, $target);    // Target site 
curl_setopt($ch, CURLOPT_REFERER, $ref);   // Referer value 
curl_setopt($ch, CURLOPT_VERBOSE, FALSE);   // Minimize logs 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // No certificate 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);  // Follow redirects 
curl_setopt($ch, CURLOPT_MAXREDIRS, 4);    // Limit redirections to four 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);  // Return in string 

Я использую этот URL, который я извлек из заголовка Живого HTPP для формы: https://www.cellcom.co.il/siteminderagent/forms/login.fcc

что ты думаешь? это имеет смысл?