2013-07-16 3 views
0

저는 며칠 동안 DOTNETNUKE 응용 프로그램에 로그인 할 작은 PHP 스크립트를 얻으려고했습니다. 파이어 폭스에 대한 Tamper Data plugin을 사용하여 헤더를 복사하고 변수를 정확히 게시했습니다.Curl (Or Guzzle)을 사용하여 DOTNETNUKE 응용 프로그램에 로그인

나는 다음과 같은 오류를 얻을 데이터에 보낼 때마다 :

무엇을 내가 그것을 말할 수에서

error=Your%20session%20has%20expired.%20%20Please%20try%20again

DotNetNuke의 쿠키는 다시 전달되지 않는 어떤 도움이 크게 될 이유는 확실하지이기 때문에 고맙습니다. 내 GUZZLE 코드는 다음과 같습니다.

include_once(LIBRARY_PATH . '/guzzle.phar'); 

use Guzzle\Http\Client; 
use Guzzle\Plugin\Cookie\CookiePlugin; 
use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar; 

$cookiePlugin = new CookiePlugin(new ArrayCookieJar()); 

$client = new Client('ASPX URL CODE GOES HERE'); 
$client->addSubscriber($cookiePlugin); 
$client->setUserAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0'); 

$response = $client->get('ASPX URL CODE GOES HERE')->send(); 

$request = $client->post('ASPX URL CODE GOES HERE', array(), array(
    '__EVENTTARGET' => 'dnn$ctr383$LoginPage$SearchPage$dataPanel$ctl01$ctl13$LoginButton', 
    '__EVENTARGUMENT' => '', 
    'dnn$ReturnModuleFocus' => '', 
    'dnn$ModuleFocalPoint' => '', 
    'dnn$ModuleInvokedFromDataSearch' => '', 
    'dnn$ctr383$LoginPage$SearchPage$dataPanel$ctl01$ctl11$userName$mb_userName' => 'USERNAME HERE', 
    'dnn$ctr383$LoginPage$SearchPage$dataPanel$ctl01$ctl12$password$mb_password' => 'PASSWORD HERE', 
    'dnn$ctr383$LoginPage$SearchPage$dataPanel$ConfirmationSaveResponse' => '', 
    'dnn$ctr383$LoginPage$SearchPage$dataPanel$MinMax' => '', 
    'dnn$ctr383$LoginPage$SearchPage$dataPanel$dpPostBack' => '', 
    'ScrollTop' => '', 
    '__dnnVariable' => '', 
    'ScrollX' => '0', 
    'ScrollY' => '0', 
    'iCWindowID' => '2', 
    'iCRequestID' => '1', 
    'iCFieldsChanged' => '0', 
    '__VIEWSTATE' => '' 
)); 

$response = $request->send(); 

echo $response; 

감사합니다.

답변

0

코드를 보면 asp 사이트를 다루는 것처럼 보입니다. 나는 ASP가 좋지 않지만, 많은 사이트를 긁어 모으고 있었고 문제는 __VIEWSTATE 매개 변수입니다.

ASP는 이상한 세션 처리에이 임의의 문자열을 사용하고 있습니다. 로그인 양식 페이지를 다운로드하고 __VIEWSTATE 숨겨진 입력 필드 값을 구문 분석하여 쉽게 해결할 수 있습니다.

+0

ASP 사이트를 다루고 있습니다. 그러나 그 __VIEWSTATE thats 문제는 위의 내 게시물 변수에서 볼 수있는 공백으로 전달 된 및 구문 분석을 시도하고 항상 비어있는 것 같다. – Sincore

관련 문제