Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   mybb - authorization (https://forum.antichat.xyz/showthread.php?t=16287)

errou 22.03.2006 03:43

mybb - authorization
 
Привет! Такое дело: на Mybb-шных форумах следующая форма авторизации.
Код HTML:

<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>

Соостветственно, пишу простейший скрипт:
PHP код:

$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, спасибо большое! Я понял, что с загловками чушь написал...
Вот работающий кусок - авось кому пригодится:
PHP код:

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"); 



Время: 01:56