2012-03-08 4 views
0

Я не могу войти с помощью этого сценария:локон Проблемы с авторизацией

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, "http://mysite.com/admin/index.php"); 

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, 'action=login_user.php&AU_USRNAME=myname&AU_PWD=secret'); 

$result = curl_exec($ch); 
curl_close($ch); 

но я не могу войти. Какие-нибудь идеи, что с этим не так?

Вот код формы:

<form name="loginForm" action="login_user.php" method="POST" enctype="multipart/form-data"> 
     <table> 
     <tr> 
      <td class="label">username</td> 
      <td class="input"><input type="text" name="AU_USRNAME" value="" size="20" /></td> 
     </tr> 
     <tr> 
      <td class="label">password</td> 
      <td class="input"><input type="password" name="AU_PWD" value="" size="20" /></td> 
     </tr> 
    </table> 
    <div id="buttonGroup"> 

      <input type="submit" class="buttonWide" value="login" name="auth_do_login" /> 
    </div> 
</form> 

Видите ли вы что-нибудь не так?

+1

Не следует ли обратиться к http://mysite.com/admin/login_user.php? – Petter

+0

Вы имеете в виду, что не авторизованы в последовательных запросах после этого? Вы должны добавить файл cookie к вашему запросу curl – ChrisR

+0

Пожалуйста, вставьте источник формы. Вы уверены, что нет входа в систему безопасности CSRF? – jpic

ответ

0

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

<?php 

    $curl_handle=curl_init(); 
    curl_setopt($curl_handle, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1"); 
    curl_setopt($curl_handle,CURLOPT_URL,'http://mysite.com/admin/index.php'); 
    curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); 
    curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true); 
    curl_setopt($curl_handle,CURLOPT_COOKIEFILE,dirname(__FILE__).DIRECTORY_SEPARATOR."cookie.log"); 
    curl_setopt($curl_handle,CURLOPT_COOKIEJAR,dirname(__FILE__).DIRECTORY_SEPARATOR."cookie.log"); 
    curl_setopt($curl_handle,CURLOPT_REFERER,'http://www.google.co.in'); 
    curl_setopt($curl_handle,CURLOPT_POST,true); 
    curl_setopt($curl_handle,CURLOPT_POSTFIELDS,"action=login_user.php&AU_USRNAME=myname&AU_PWD=secret"); 
    curl_setopt($curl_handle,CURLOPT_FRESH_CONNECT,true);//No caching 
    curl_setopt($curl_handle,CURLOPT_FOLLOWLOCATION,true); 
    curl_setopt($curl_handle,CURLOPT_MAXREDIRS,1); 
    $buffer=curl_exec($curl_handle); 
    echo $buffer; 

?> 
+0

нет! не работает, тот же результат! – user1254065

Смежные вопросы