Авторизация и Vbulletin

12
A6
На сайте с 19.10.2007
Offline
25
2307

Не получается под своим логином открыть какую-либо страницу форума на движке Vbulletin внешним скриптом. У меня получается залогиниться(т.е. вижу надпись "Thank you for logging in", но после автоматического редеректа я опять становлюсь "гостем". Подозреваю, что дело в Cookies, но в чем конкретно не могу додуматься.

Вот мой скрипт:

//Функция, которой отправляю


function file_open($url,$post,$referrer,$cook)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_COOKIE, $cook);
$get_row_urlink = curl_exec($ch);
curl_close($ch);
return $get_row_urlink;
}

//Получить "bblastvisit" и "bblastactivity"
//bblastactivity всегда равно 0, поэтому его не нахожу.
// Также находим значения всех скрытых полей формы отправки


$header = file_open('http://ub3rhack3r5.org/newthread.php?do=newthread&f=20','1','index.php',$cook);
//echo $header;

preg_match("/bblastvisit=(.+?);/",$header,$cookie);
$cook='bblastvisit='.$cookie[1].'; bblastactivity=0;';
echo '<br><br> cook1 '.$cook.'<br><br>';


preg_match("/class=\"panel\">(.+?)class=\"smallfont\"/is",$header,$out);
preg_match_all("/name=\"(.*?)\"\s+value=\"(.*?)\"/i",$out[1],$dootp);
//print_r($dootp);

for($r=0;$r<count($dootp[1]);$r++){
if($dootp[1][$r]=='url'){
$dannie_dootp1 .= $dootp[1][$r].'='.preg_replace("/&amp;/i",'%26',$dootp[2][$r]).'&';
}

else{
$dannie_dootp1 .= $dootp[1][$r].'='.$dootp[2][$r].'&';
}
}
echo '<br><br> '.$dannie_dootp1.'<br><br>';


//Это делается для того, чтобы получить "bbsessionhash"


$header = file_open('http://ub3rhack3r5.org/login.php?do=login',$dannie_dootp1.'vb_login_username=test_login&vb_login_password=123456','index.php',$cook);
//$header;
$cook ='';

preg_match("/bbsessionhash=(.+?);/",$header,$cookie_session);

$cook='bblastvisit='.$cookie[1].'; bblastactivity=0; bbsessionhash='.$cookie_session[1].';';
echo '<br><br> cook2 '.$cook.'<br>';

// Теперь, имея все куки и зная значения всех скрытых полей формы, пытаюсь //авторизоваться

$header = file_open('http://ub3rhack3r5.org/login.php?do=login',$dannie_dootp1.'vb_login_username=test_login&vb_login_password=123456','index.php',$cook);
echo $header;
// Не получается =(

Код рабочий, можете запустить и посмотреть, в чем проблема...

P.S. Программированию учился сам, поэтому не сильно пинайте за кривой код :rolleyes:

4NT1P0V
На сайте с 31.01.2009
Offline
66
#1

Пробывал зайти через другой браузер? Очистить куки? Попробовать обновить пару раз страницу после авторизации?

=)
A6
На сайте с 19.10.2007
Offline
25
#2
4NT1P0V:
Пробывал зайти через другой браузер? Очистить куки? Попробовать обновить пару раз страницу после авторизации?
на движке Vbulletin внешним скриптом

Если заходить через браузер, то все нормально. Меня интересует авторизация и открытие страниц форума под своим логином именно php скриптом.

[Удален]
#3

Alexan666, почитай ))

http://hell.helldude.ru/?s=curl

Север
На сайте с 21.03.2008
Offline
154
#4

Alexan666, посмотрите, kerk показывал на примере простой странички и

проверьте, что в админке форума "путь сохранения cookies" стоит верный.

.......

p.s. в аттаче сам php файлик страницы.

zip page.zip
Тех. https://searchengines.guru/ru/forum/255402 подержка Vbulletin √ <---/---> Отличные VDS √ ( https://cp.inferno.name/cart.php?aff=2714 ) <---/---> Хочу Всё Знать https://t.me/hochuVsjoZnat
A6
На сайте с 19.10.2007
Offline
25
#5
Север:
Alexan666, посмотрите, kerk показывал на примере простой странички и
проверьте, что в админке форума "путь сохранения cookies" стоит верный.
.......
p.s. в аттаче сам php файлик страницы.

Я не владелец форума, на котором пытаюсь авторизоваться, я обычный юзер, поэтому проверить и изменить что-либо в админке не могу. Но я смотрел по кукам, которые присылает форум - там стоит правильный параметр "/".

C http://vbsupport.org/page.php таже проблема: посылаю данные, появляется надпись приветствия, но после редеректа я оказываюсь не авторизован.

Где-то я что-то упускаю, либо не в той последовательности отправляю... Если кто-нибуть напишет скрипт на php, который сможет авторизоваться на любом форуме Vbulletin и уже авторизованным открыть какую-либо страницу форума, то с меня пиво 🍻 в виде 10WMZ. Буду признателен за помощь. :)

Север
На сайте с 21.03.2008
Offline
154
#6

Alexan666, хм...так Вам стоит смотреть настройки браузера(куки то он принимает?).

A6
На сайте с 19.10.2007
Offline
25
#7
Север:
Alexan666, хм...так Вам стоит смотреть настройки браузера(куки то он принимает?).

Да, куки мой браузер принимает. Я писал, что если заходить через браузер(т.е. все делать руками), то все нормально.(т.е. после приветственной надписи и редеректа я остаюсь залогененным). Но мне надо авторизовываться не браузером(руками), а скриптом. И когда я это делаю скриптом, то возникает проблема,(после приветственной надписи и редеректа я опять становлюсь гостем).

Хотя в своем скрипте(см. Выше) я стараюсь учитывать куки(отсылаю значения bblastvisit, bblastactivity, bbsessionhash). Но может быть что-то не то отсылаю, что-то недоотсылаю, что-то упустил. Раз я вижу надпись приветствия, значит все скрытые поля формы авторизации заполняются верно, значит проблема в куках/сессии. Значение сессии(насколько я понимаю) присутствует в скрытых полях(ее имя "s") и оно тоже отсылается. Значит проблема в куках. Но в чем именно я не знаю, вот и прошу опытных программистов подсказать, как правильно и какие куки отсылать на форумах Vbulletin, чтобы получалось нормально авторизовываться.

BE
На сайте с 09.07.2008
Offline
28
#8

Такое ощущение, что первого сообщения никто и не читал:)

Alexan666

На скорую руку нацарапал скрипт авторизации на этом форуме. Сыроват, но вроде работает:)

zip auth.zip
BlackEvil, Rest In Peace...
N
На сайте с 06.05.2007
Offline
419
#9

BlackEvil, в 3.6.9 уже не заработает

Кнопка вызова админа ()
BE
На сайте с 09.07.2008
Offline
28
#10

netwind

Можно пример форума на 3.6.9?

Заранее благодарен:)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий