2012-12-19 2 views
1

PHP에서 청구서 수신 소프트웨어 (WHMCS)로 세션을 설정하는 방법을 알아보기 위해 로그인 한 관리자 만 사용할 수있는 URL을 호출 할 수 있습니다. 로그인 데이터와 매개 변수를 모두 URL에 전달할 수 있다고 생각하지 않으므로 세션을 먼저 작성한 다음 URL을 호출해야합니다.URL을 호출하기위한 세션 설정?

시스템의 실제 PHP는 인코딩하지만, 다음과 같이보고 나타나는 소스를 ...보기에서

<form action="dologin.php" method="post" name="frmlogin" id="frmlogin"> 
    <table width="100%" border="0" cellspacing="0" cellpadding="5"> 
    <tr> 
     <td width="30%" align="right" valign="middle"><strong>Username</strong></td> 
     <td align="left" valign="middle"><input type="text" name="username" size="30" class="login_inputs" /></td> 
    </tr> 
    <tr> 
     <td width="30%" align="right" valign="middle"><strong>Password</strong></td> 
     <td align="left" valign="middle"><input type="password" name="password" size="30" class="login_inputs" /></td> 
    </tr> 
    <tr> 
     <td width="30%" align="right" valign="middle"><input type="checkbox" name="rememberme" id="rememberme" /></td> 
     <td align="left" valign="middle"><label for="rememberme" style="cursor:hand">Remember me until I logout.</label></td> 
    </tr> 
    <tr> 
     <td width="30%" align="right" valign="middle">&nbsp;</td> 
     <td align="left" valign="middle"><table width="100%" cellpadding="0" cellspacing="0"><tr><td><input type="submit" value="Login" class="button" /></td><td align="right">Language: <select name="language" class="login_inputs"><option value="">Default</option><option value="czech">Czech</option><option value="english">English</option><option value="french">French</option><option value="portugues">Portugues</option></select></td></tr></table></td> 
    </tr> 
    </table> 
</form> 

호출 후, 나는 할 수 있어야합니다 단지 CURL 호출을 할 다음과 같이하고 URL?

$url = "https://clients.website.com/admincp/dologin.php"; 
$username = "admin"; 
$password = "239asd90"; 

$postfields = array(); 
$postfields["username"] = $username; 
$postfields["password"] = md5($password); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_exec($ch); 

if (curl_error($ch)) die("Connection Error: ".curl_errno($ch).' - '.curl_error($ch)); 
curl_close($ch); 

답변

0

세션 구현은 일반적으로 쿠키 내에 저장된 고유 한 해시를 사용합니다. 그런 다음 쿠키는 사용자의 세션을 식별하기 위해 후속 요청을 할 때마다 보내집니다.

로그인 프로세스를 실행할 때 쿠키와 그 값을 캡처해야합니다. 그런 다음 로그인 된 영역 내의 페이지에 대한 요청이있을 때 세션 쿠키를 컬 호출에 추가해야합니다.