Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Авторизация и Vbulletin

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Не получается под своим логином открыть какую-либо страницу форума внешним скриптом
chigok
Отправлено: 08 Июня, 2009 - 00:09:13
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




Не получается под своим логином открыть какую-либо страницу форума на движке Vbulletin внешним скриптом. У меня получается залогиниться(т.е. вижу надпись "Thank you for logging in", но после автоматического редеректа я опять становлюсь "гостем". Подозреваю, что дело в Cookies, но в чем конкретно не могу додуматься.
 
 Top
vitaliy_mad
Отправлено: 08 Июня, 2009 - 04:32:31
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




chigok пишет:
Подозреваю, что дело в Cookies

может в браузере они отключены?
 
 Top
Вездеход
Отправлено: 08 Июня, 2009 - 07:16:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




chigok
если внешний скрипт - то это через курл или сокеты конектитесь? или он просто не от форума? =)


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
chigok
Отправлено: 08 Июня, 2009 - 11:25:13
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




vitaliy_mad пишет:
может в браузере они отключены?

Нет, если заходить вручную, то все нормально. Но я пытаюсь заходить скриптом.

Вездеход пишет:
chigok
если внешний скрипт - то это через курл или сокеты конектитесь? или он просто не от форума? =)


через curl. Вот мой скрипт:

PHP:
скопировать код в буфер обмена
  1.  
  2. //Функция, которой отправляю
  3.  
  4. function file_open($url,$post,$referrer,$cook)
  5. {
  6.         $ch = curl_init();
  7.         curl_setopt($ch, CURLOPT_URL, $url);
  8.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9.         curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  10.         curl_setopt($ch, CURLOPT_POST,1);
  11.         curl_setopt($ch, CURLOPT_HEADER, 1);
  12.         curl_setopt($ch, CURLOPT_REFERER, $referer);
  13.         curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
  14.         curl_setopt($ch, CURLOPT_COOKIE, $cook);
  15.         $get_row_urlink = curl_exec($ch);
  16.         curl_close($ch);
  17.     return $get_row_urlink;
  18. }
  19.  
  20. //Получить "bblastvisit" и "bblastactivity"
  21. //bblastactivity всегда равно 0, поэтому его не нахожу.
  22. // Также находим значения всех скрытых полей формы отправки
  23.  
  24.  
  25. $header = file_open('http://ub3rhack3r5.org/newthread.php?do=newthread&f=20','1','index.php',$cook);
  26. //echo $header;
  27.  
  28. preg_match("/bblastvisit=(.+?);/",$header,$cookie);
  29. $cook='bblastvisit='.$cookie[1].'; bblastactivity=0;';
  30. echo '<br><br> cook1 '.$cook.'<br><br>';
  31.  
  32.  
  33. preg_match("/class=\"panel\">(.+?)class=\"smallfont\"/is",$header,$out);
  34. preg_match_all("/name=\"(.*?)\"\s+value=\"(.*?)\"/i",$out[1],$dootp);
  35. //print_r($dootp);
  36.  
  37. for($r=0;$r<count($dootp[1]);$r++){
  38. if($dootp[1][$r]=='url'){
  39. $dannie_dootp1 .= $dootp[1][$r].'='.preg_replace("/&/i",'%26',$dootp[2][$r]).'&';
  40.                                   }
  41.                                
  42. else{                                          
  43. $dannie_dootp1 .= $dootp[1][$r].'='.$dootp[2][$r].'&';
  44.       }
  45.                                                      }
  46. echo '<br><br>   '.$dannie_dootp1.'<br><br>';  
  47.                                          
  48.  
  49. //Это делается для того, чтобы получить "bbsessionhash"
  50.  
  51.  
  52. $header = file_open('http://ub3rhack3r5.org/login.php?do=login',$dannie_dootp1.'vb_login_username=test_login&vb_login_password=123456','index.php',$cook);     
  53. //$header;             
  54. $cook ='';
  55.  
  56. preg_match("/bbsessionhash=(.+?);/",$header,$cookie_session);
  57.      
  58. $cook='bblastvisit='.$cookie[1].'; bblastactivity=0; bbsessionhash='.$cookie_session[1].';';
  59. echo '<br><br> cook2 '.$cook.'<br>';
  60.  
  61. // Теперь, имея все куки и зная значения всех скрытых полей формы, пытаюсь //авторизоваться
  62.  
  63. $header = file_open('http://ub3rhack3r5.org/login.php?do=login',$dannie_dootp1.'vb_login_username=test_login&vb_login_password=123456','index.php',$cook);     
  64. echo $header;
  65. // Не получается =(
  66.  


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

(Отредактировано автором: 08 Июня, 2009 - 12:01:07)

 
 Top
Вездеход
Отправлено: 08 Июня, 2009 - 11:55:02
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




если через курл то я так понимаю браузер тут не при чем....
покажите код... думаю ошибка там в сохранении сессий\куков


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB