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
Форумы портала PHP.SU :: Версия для печати :: Установить вечные куки
Форумы портала PHP.SU » » Работа с сетью » Установить вечные куки

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

1. Gimxs - 04 Декабря, 2013 - 18:26:26 - перейти к сообщению
Пишу скрипт авторизации на форуме типа vbulletin, куки периодически умирают и приходится авторизовываться заново.
Так как куки могут умереть в любой момент, делаю авторизацию каждый раз при каждом обращении к скрипту, что очень неудобно и затрачивается дополнительное время.
Возможно ли установить в нем вечные куки, если да то как именно?

PHP:
скопировать код в буфер обмена
  1. $login = 'user_name';
  2. $pass = 'password';
  3. $cookie = realpath(dirname(__FILE__)).'/cookie.txt';
  4. $url= 'http://www.forum-vbulletin.com/login.php?do=login';
  5. $curl = curl_init();
  6. curl_setopt($curl, CURLOPT_URL,$url);
  7. curl_setopt ($curl,CURLOPT_RETURNTRANSFER,1);
  8. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
  9. curl_setopt($curl, CURLOPT_POST, 1);
  10. curl_setopt($curl, CURLOPT_POSTFIELDS, "vb_login_username=".$login."&vb_login_password=".$pass."&s=&do=login&vb_login_md5password=&vb_login_md5password_utf=");
  11. curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
  12. curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
  13. $content = curl_exec($curl);
  14. curl_close($curl);
2. Мелкий - 04 Декабря, 2013 - 18:42:59 - перейти к сообщению
Пользователь себя как ведёт?
Если кука протухла - авторизуется и живёт дальше до следующего протухания.
Вам что мешает так же?
3. Gimxs - 04 Декабря, 2013 - 19:05:14 - перейти к сообщению
Мелкий пишет:
Если кука протухла - авторизуется и живёт дальше до следующего протухания.


Как скрипт сможет определить жива ли еще кука? (если жива то авторизацию не делать, если нет то делать повторную авторизацию).
Каким образом это делается?

Единственное что приходит на ум:
PHP:
скопировать код в буфер обмена
  1. if(!file_exists('cookie.txt')){
  2. //выполняется curl авторизация
  3. }
  4. //выполняются какие то действия


но нужно периодически удалять куки файл вручную или кроном, тоже неудобно.
4. Мелкий - 04 Декабря, 2013 - 19:51:32 - перейти к сообщению
Не куку проверяйте, а авторизацию на сайте. Авторизацию можно убить, не трогая куки вовсе.

Как вы видите, что залогинены, например, на этом форуме? Вы видите надпись "Здравствуйте, Gimxs", в темах есть кнопка ответа и т.д.
5. Gimxs - 05 Декабря, 2013 - 10:43:04 - перейти к сообщению
Мелкий пишет:
Не куку проверяйте, а авторизацию на сайте. Авторизацию можно убить, не трогая куки вовсе.

Как вы видите, что залогинены, например, на этом форуме? Вы видите надпись "Здравствуйте, Gimxs", в темах есть кнопка ответа и т.д.


Понятно, проверять рег. выражением на наличие "Здравствуйте, ..."
Сделал так, но скрипт от этого работать быстрее не стал)

 

Powered by ExBB FM 1.0 RC1