PDA

Просмотр полной версии : mybb - authorization


errou
22.03.2006, 03:43
Привет! Такое дело: на Mybb-шных форумах следующая форма авторизации.
<form id="login" method="post" action="login.php?action=in" onsubmit="return process_form(this)">
<input type="hidden" name="form_sent" value="1" />
<input type="hidden" name="redirect_url" value="index.php" />
<input type="text" name="req_username" size="25" maxlength="25" tabindex="1" />
<input type="password" name="req_password" size="16" maxlength="16" tabindex="2" />
<input type="submit" name="login" value="Войти" tabindex="3" />
</form>
Соостветственно, пишу простейший скрипт:
$f=fsockopen("***.mybb.ru",80);

fwrite($f,"POST /login.php?action=in&form_sent=1&redirect_url=index.php&req_username=123&req_password=123&login=%C2%EE%E9%F2%E8 HTTP/1.1\r\n");
fwrite($f,"Host: ***.mybb.ru\r\n");
fwrite($f,"Content-length: 0\r\n");
fwrite($f,"Connection: close\r\n");
fwrite($f,"\r\n");

while(!feof($f))
{
print(fgets($f))."<br>";
}

То есть вроде бы заголовки, которые я посылаю, полностью идентичны форме... Однако ни хрена не проиходит, то есть login.php воспринимает все это дело не так, как подразумевается...

xPow
22.03.2006, 04:41
ты забыл о Content-type: application/x-www-form-urlencoded

смотри здесь описание и примеры : http://php.net/fsockopen

errou
22.03.2006, 13:21
xPow, спасибо большое! Я понял, что с загловками чушь написал...
Вот работающий кусок - авось кому пригодится:
fputs($f,"POST /login.php?action=in HTTP/1.1\r\n");
fputs($f,"Host: svatoslavforum.mybb.ru\r\n");
fputs($f,"Content-type: application/x-www-form-urlencoded\r\n");
fputs($f,"Content-length: ".strlen($poststring)."\r\n");
fputs($f,"Connection: close\r\n");
fputs($f,"\r\n");
fputs($f,"form_sent=1&redirect_url=index.php&req_username=user&req_password=pass&login=".urlencode('Войти'));
fputs($f,"\r\n\r\n");