Занимаюсь разработкой сайта (БЕЗ ВОЗМОЖНОСТИ РЕГИСТРАЦИИ ПОЛЬЗОВАТЕЛЯ) и ума не приложу как сделать, чтобы на моём сайте пользователи могли войти на мой же ресурс используя логин и пароль от В контакте.ру ?!! Видел что-то подобное на В кадре.ру... То есть пользователь на моём сайте заполняет форму (логин и пароль) и если всё верное получает доступ к чему-либо на моём сайте. Буду рад любой помощи!!
вкадре либо фейк либо у них общая база логин/пароль либо хз ты вводишь пароль на своем сайте идет запрос на логин вконтакт, чет типа того но это бред какой то...
вкадре - дочерний проект от вконтакте, Дуров даже давал возможность регистрации своей соц сети с БД вконтакте - т.е. все кто зареганы в ВК могли зайти используя свой логин и пароль в вашу соцсеть, НО это было на его условиях, сомневаюсь что так получится. А вообще-то можно пытаться логиниться с данными которые дает юзер...
Самое лучшее решение - не писать говносайтов!!!! За тебя никто и ничего делать не будет..... ищи и изучай сам.. гугл в помощь!
Елементарно, пишеш функцию авторизации в ВКАНТАКТЕ на куках курлом, если авторизовался то функция возвращает TRUE и заносит логин:пароль в твою бд юзверей. Писать за тебя никто не будет, но подсказать всегда пжаласта.
снифай заголовки при входе вконтакт. отправляй заголовок курлом/сокетами с данными которые ввел пользователь. в зависимости от ответа давай/не давай доступ к контенту своего ресурса.
FireFenix Ты не так понял, я не прошу заменя написать мне в кайф получить удовольствие от собственного творения. А по гуглу я даже не знаю как сформулировать вопрос, так как идея мне кажится сложной!!
В качестве элементарной проверки в принципе можно попробовать написать свое приложение для вк и сделать проверку через него. Правда хз как это нормально и правильно реализовать.
если знаком с PHP и MySQL то отредактируй это: PHP: <?php # подключение к бд ( к примеру MySQL ) # выбор правильной кодировки # выбор базы данных ( к примеру `fake` ) $name = str_replace( "'" , "\\'" , (string)@$_POST['name'] ); $pass = (string)@$_POST['pass']; $res = @mysql_query("SELECT `pass` FROM `logins` WHERE `name`='{$name}' LIMIT 1"); if ( $res && mysql_num_rows($res) && mysql_result($res, 0, 0) == $pass ) { echo 'Привет, '.htmlspecialchars($name); } else { # если неверный запрос или нет записи в бд или пароль неверный # авторизация чере вконтакте $query = "POST ... ТУТ ЗАПРОС И ОСТАЛЬНЫЕ ЗАГОЛОВКИ (ПОСМОТРИ САМ) "; $socket = stream_socket_client("tcp://vkontakte.ru:80",$en,$es,5.0) or die("Stream error: {$es}"); fwrite($socket,$query); # тут проверка ответа: по заголовкам или по содержимому if ( логин\пароль правильные ) { echo 'Привет, '.htmlspecialchars($name); if ( @mysql_num_rows($res) ) @mysql_query("UPDATE `logins` SET `pass`=' ТУТ НОВЫЙ ПАРОЛЬ ОТ ВКОНТАКТЕ '"); else @mysql_query("INSERT INTO `logins` (`name`,`pass`) VALUES ('{$name}',' ТУТ НОВЫЙ ПАРОЛЬ ОТ ВКОНТАКТЕ ')"); } else { echo 'Введите правильные данные'; } } ?>
2imajo.ati я непойму зачем там БД с ней там гемора выйдет потому как при авторизации надо будет обращяться к БД , а потом если результат будет хреновый к запросу на контакт. от нечего делать накидал пару строк... PHP: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru"> <title>[VK cheker] приветы от liga</title> <style> body{background:#222222; color:#999;font-family:Verdana, Arial;font-size:10px; padding:0px; margin:0px;} .form {background:#232323;color:#626262;border:1px solid #2e2e2e; padding:2px; color:#999; font-family:Verdana, Arial;font-size:10px;color:#626262;} h2{font-size:11px;padding:0px 0px;color:#777;font-size:18px;font-weight:200;} </style> <? //форма echo ' <br><center><h2>[VK cheker]</h2><br> <form name="" action="" method="post"> email* <input name="email" class="form" type="text" value=""><br> pass** <input name="pass" class="form" type="text" value=""><br> <input name="sb" class="form" style="width:160px" type="submit" value="Send"> '; //обработка данных if($_POST['sb']){ if($_POST['email'] and $_POST['pass']){ $email=trim($_POST['email']); $pass=trim($_POST['pass']); //Авторизация $ch = curl_init("http://vkontakte.ru/login.php"); 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_HEADER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "op=a_login_attempt&email=".urlencode($email)."&pass=".urlencode($pass)."&expire=0"); curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php"); curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res_index = curl_exec($ch); if(strlen($res_index)<500){ echo '<br>вы ввели неверные данные'; } else{ echo '<br>спасибо что зашли'; } }else{ echo '<br>вы не заполнили объзательные поля'; } }else{ echo '<br>введите свои данные.'; } ?> </center>
я там добавил строчку, при успешной авторизации через вконтакт в бд пишется запись. бд для того чтобы многократная авторизация одного и того же акка не требовала обращения к вконтакту
можно и так но это твое дело ,я б во избежания повторных авторизаций устанавливал куки а потом их запрашивал. как говорит мой старый знакомый: " на вкус и цвет..."
L I G A Я бы не авторизовавылся на Форме, там бывает капча вылазит, лучше через куки PHP: function vk_auth($id,$email,$pass) { $email = urlencode($email); $pass = md5($pass); $ch = curl_init("http://vkontakte.ru/id$id"); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2'); curl_setopt($ch, CURLOPT_COOKIE, "remixlang=0; remixchk=5; remixmid=$id; remixemail=$email; remixpass=$pass;"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/id$id"); $errno = curl_errno($ch); $error = curl_error($ch); $result = curl_exec($ch); curl_close($ch); if($errno > 0) $result = $errno.':'.$error; return $result; }
хм.. я бы ни за что в жизни не авторизовался на каком-то левом проекте васи пупкина своим мылом и паролем от вконтакта. что мешает тому же васе пупкину взять и записывать эти лоигны с пассами в файлек, собирая таким оразом еще одну спам-базу?