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 :: PHPSESSID как получить

 PHP.SU

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


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

> Описание: Как получить этот номер потом в PHP
exspool
Отправлено: 05 Марта, 2013 - 13:55:09
Post Id



Новичок


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


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




Всем привет.

Некий сайт отправляет куку PHPSESSID с номером (пример PHPSESSID=7v9v4dlcqp61rkah0cikubt462) после того как я авторизовался на сайте

Вопрос: Как получить этот номер потом в PHP и подставить его в своем запросе (cURL), чтобы сайт знал что запрос идет от меня (по тому же номеру сессии) и чтобы каждый раз не копировать "ручками" этот номер из кук и вставлять там где нужно? Спасибо.

1) мне нужно как-то получить тот номер сессии который получает браузер при авторизации на сайте
2) этот номер подставить потом в curl'е и отправить как заголовок
3) при запуске скрипта, сервер будет знать что это зашел тот самый человек, так как ему передался тот же PHPSESSID

А если покороче, то можно ли вообще как то получить доступ через PHP к тем кукам которые сохраняются браузером?
 
 Top
esterio
Отправлено: 05 Марта, 2013 - 14:16:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




нужно делать два запроса, один на полуения куки, второй на отсилку данных.
Получить куки:
http://blog[dot]yousoft[dot]ru/2010/03/3[dot][dot][dot]okies-2-sposoba/
Отослать запрос:
 
 Top
exspool
Отправлено: 05 Марта, 2013 - 17:32:37
Post Id



Новичок


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


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




esterio пишет:
нужно делать два запроса, один на полуения куки, второй на отсилку данных.
Получить куки:
http://blog[dot]yousoft[dot]ru/2010/03/3[dot][dot][dot]okies-2-sposoba/
Отослать запрос:


Я не авторизириуюсь на сайте через кУРЛ! Все ввожу руками. И это все я в курсе. отправить и получить знаю как, но получаю я вовсе не то что хочется. давайте еще раз)

1) захожу я на сайт, ввожу логин и пароль, сайт автоматически мне присваивает уникальный PHPSESSID и записывает в куки
2) когда я перехожу по страницам сайта, то в firebug видно что браузер каждый раз передает этот номер в заголовках и сервер уже знает что я авторизован
3) теперь я иду в код и запускаю свой скрипт. с помощью курла хочу имитировать уже авторизованого пользователя, тоесть хочу подставить этот номер в заголовки куки, для этого иду в firebug, копирую и вставляю в код, когда запускаю скрипт все отлично работает
4) как получить этот номер сессии автоматически??

это не подходит
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");

допустим
$ch = curl_init("http://www.site.com/");

при запуске скрипта в файл cookie.txt записываться НОВЫЙ номер PHPSESSID, который отличается от того который был записан при авторизации, вопрос в том, как получить тот первый PHPSESSID

(Отредактировано автором: 05 Марта, 2013 - 17:33:10)

 
 Top
OrmaJever Модератор
Отправлено: 05 Марта, 2013 - 17:45:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




exspool пишет:
при запуске скрипта в файл cookie.txt записываться НОВЫЙ номер PHPSESSID, который отличается от того который был записан при авторизации, вопрос в том, как получить тот первый PHPSESSID

в этом то и суть, что старый вам уже не поможет, при каждом запросе сервер генерирует новый хеш и старый становится недействительным.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
esterio
Отправлено: 05 Марта, 2013 - 17:46:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




значит нужно авторизироватся, мне кажется хоть ви и написали что знаете, но все равно не понимаете. Вам нужно повторить все действия браузера вплоть до залогирования, для автоматического витаскивания sessid
 
 Top
Мелкий Супермодератор
Отправлено: 05 Марта, 2013 - 17:46:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Силами PHP и для стороннего хоста - никак. Иначе дырище безопасности, дискредитирующее весь механизм кук, и без того не кристально безопасных.


-----
PostgreSQL DBA
 
 Top
LShark
Отправлено: 05 Марта, 2013 - 17:48:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


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




Вроде же как только сессия первого прерывается, ее файл удаляется из временной папки сервера и хоть ты завводись его повторно - он не будет принят сервером как "уже использованный".


-----
Истина прежде всего в том, что...
 
 Top
Мелкий Супермодератор
Отправлено: 05 Марта, 2013 - 17:57:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




LShark пишет:
Вроде же как только сессия первого прерывается, ее файл удаляется из временной папки сервера и хоть ты завводись его повторно - он не будет принят сервером как "уже использованный".

Это не так.
http://habrahabr[dot]ru/post/171151/
Недавно лично видел сессию, стартовавшую месяц назад и всё ещё актуальную Не понял Её жизнь поддерживали периодические пинания пользователя (уж не знаю, чем пинал и зачем)

OrmaJever пишет:
при каждом запросе сервер генерирует новый хеш и старый становится недействительным.

И это не так. Украсть сессионную куку = получить полный доступ к учётке на время жизни сессии (дефолтные настройки - 24 минуты бездействия вкупе с отработавшим сборщиком мусора за прошедшее время)


-----
PostgreSQL DBA
 
 Top
exspool
Отправлено: 05 Марта, 2013 - 19:11:16
Post Id



Новичок


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


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




всем большое спасибо за советы!!

Мелкий пишет:

Украсть сессионную куку = получить полный доступ к учётке на время жизни сессии



вот!!!! именно то что нужно, эта кука используется (не меняется) вплоть до того пока браузер не будет закрыт. нужно как то получить к ней доступ, но как...
я думал может просто файл открывать тот что в недрах браузера с куками (от туда кстати его видно этот PHPSESSID) и потом парсить и подставлять уже в курле, но это геморно немного, думал проще будет как то...

значит выход один, делать полную эмуляцию браузера - начиная с авторизации (а как быть если на сайте стоит капча и путь(URL) к самой авторизации через определенное время генерируется новый)

(Отредактировано автором: 06 Марта, 2013 - 01:26:13)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB