Вечный онлайн в контакте

kiberman
На сайте с 07.09.2010
Offline
11
2099

На хостинге установлен скрипт, который авторизовывает страницу каждые 10 минут. Тем самым делая меня в вечном онлайне.

Но на днях заметил, что авторизация теперь проходит не через login.vk.com

И теперь у меня скрипт не срабатывает.

Кто знает в чем причина? Пробовал изменить login.vk.com на vkontakte.ru не помогло.

Что нужно изменить в скрипте?

Вот он


<?php
set_time_limit(0);
##################
#Данные
$email = 'Мыло'; // E-mail
$pass = 'Пасс'; // Пароль
$log = '1'; // 1 - Если нужно писать log-файл
##################
#Авторизация
function post($url,$post,$refer)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}

$result = post('http://vkontakte.ru/',null,'http://vkontakte.ru/');

/* Если куки "умерли", то авторизовываемся... */
if (preg_match('#l">E(.*?)<#i',$result,$avtoriz))
{
$result = post('http://login.vk.com/','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$email.'&pass='.$pass,'http://vkontakte.ru/login.php?m=1&email='.$email);
##################
#Записываем в логи
if ($log == "1")
{
$fh = fopen("log.txt", "a+");
$success - fwrite($fh, "Авторизация [".date("H:i")."]\r\n");
fclose($fh);
}

}
else
{
if ($log == "1")
{
/* ...иначе пишем, что авторизация не потребовалась */
$fh = fopen("log.txt", "a+");
$success - fwrite($fh, "Работа через cookie [".date("H:i")."]\r\n");
fclose($fh);
}
}
/* */
##################
?>

kiberman добавил 19.11.2010 в 19:35

че никому не интересна эта тема?

[Удален]
#1

kiberman, Попробовать ручками авторизоваться и через HttpAnalyzer глянуть, куда запрос уходит.

Но мне интереснее другое, зачем нужно находится в вечном онлайне в контактах?

Jake Foley
На сайте с 16.08.2008
Offline
151
#2

Меня тоже этот вопрос беспокоит - зачем? 🚬

Jekyll
На сайте с 04.05.2009
Offline
136
#3

Во делать людям не фиг :) У вас остались куки, которые вы получаете при удачной авторизации? Если да - подставляйте их и запрашивайте свою страничку каждые 10 минут, будете висеть онлайн

asto
На сайте с 13.10.2005
Offline
180
#4

ТС, не проблема зайти в контакт и попробовать авторизироваться... Там всё у Вас перед глазами будет. Введете логин и пароль и увидите урл, к нему добавите "&pass=yourpassword" и будем Вам счастье. Чтобы до этого додуматься, много и долго думать не надо... Логику иногда надо подключать.

asto добавил 25.11.2010 в 01:40

В коде скрипта Вы как раз "&pass=" и забыли дописать для авторизации по урлу vkontakte.ru/...

FladeX
На сайте с 07.11.2008
Offline
163
#5
cupron:
Но мне интереснее другое, зачем нужно находится в вечном онлайне в контактах?

Разве не очевидно? Так трафика больше на страничку идёт, так как ссылка на профиль будет в ротации в блоке "Друзья в сети".

Услуги посредника на бирже контента: информационные статьи 40₽/1000, «продающие» тексты 50₽/1000. Пишите в личку. Помогаю правильно переехать на https (/ru/forum/973447). Подписывайтесь на мой канал в телеграм: https://t.me/fladex (https://t.me/fladex).
kiberman
На сайте с 07.09.2010
Offline
11
#6
asto:
ТС, не проблема зайти в контакт и попробовать авторизироваться... Там всё у Вас перед глазами будет. Введете логин и пароль и увидите урл, к нему добавите "&pass=yourpassword" и будем Вам счастье. Чтобы до этого додуматься, много и долго думать не надо... Логику иногда надо подключать.

asto добавил 25.11.2010 в 01:40
В коде скрипта Вы как раз "&pass=" и забыли дописать для авторизации по урлу vkontakte.ru/...

блин, не понимаю ниче в php. Где дописать в какой строчке в скрипте?

kiberman добавил 28.11.2010 в 18:57

Вот так вот переделал, добавил в двух местах '&pass='.$pass,' но все равно не работает. Ниче не понимаю. Вот скрипт


<?php
set_time_limit(0);
##################
#Данные
$email = 'mymail'; // E-mail
$pass = 'password'; // Пароль
$log = '1'; // 1 - Если нужно писать log-файл
##################
#Авторизация
function post($url,$post,$refer)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}

$result = post('http://vkontakte.ru/',null,'http://vkontakte.ru/'&email='.$email''&pass='.$pass,');

/* Если куки "умерли", то авторизовываемся... */
if (preg_match('#l">E(.*?)<#i',$result,$avtoriz))
{
$result = post('http://vkontakte.ru','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$email.'&pass='.$pass,'http://vkontakte.ru/login.php?m=1&email='.$email'&pass='.$pass,');
##################
#Записываем в логи
if ($log == "1")
{
$fh = fopen("log.txt", "a+");
$success - fwrite($fh, "Авторизация [".date("H:i")."]\r\n");
fclose($fh);
}

}
else
{
if ($log == "1")
{
/* ...иначе пишем, что авторизация не потребовалась */
$fh = fopen("log.txt", "a+");
$success - fwrite($fh, "Работа через cookie [".date("H:i")."]\r\n");
fclose($fh);
}
}
/* */
##################
?>

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