Просмотр полной версии : Как реализовать подобное?
superboy4
02.09.2009, 16:30
Занимаюсь разработкой сайта (БЕЗ ВОЗМОЖНОСТИ РЕГИСТРАЦИИ ПОЛЬЗОВАТЕЛЯ) и ума не приложу как сделать, чтобы на моём сайте пользователи могли войти на мой же ресурс используя логин и пароль от
В контакте.ру ?!! Видел что-то подобное на В кадре.ру...
То есть пользователь на моём сайте заполняет форму
(логин и пароль) и если всё верное получает доступ к чему-либо на моём сайте.
Буду рад любой помощи!!
:) вкадре либо фейк либо у них общая база логин/пароль либо хз ты вводишь пароль на своем сайте идет запрос на логин вконтакт, чет типа того но это бред какой то...
login999
02.09.2009, 16:41
вкадре - дочерний проект от вконтакте, Дуров даже давал возможность регистрации своей соц сети с БД вконтакте - т.е. все кто зареганы в ВК могли зайти используя свой логин и пароль в вашу соцсеть, НО это было на его условиях, сомневаюсь что так получится.
А вообще-то можно пытаться логиниться с данными которые дает юзер...
Занимаюсь разработкой сайта (БЕЗ ВОЗМОЖНОСТИ РЕГИСТРАЦИИ ПОЛЬЗОВАТЕЛЯ) и ума не приложу как сделать, чтобы на моём сайте пользователи могли войти на мой же ресурс используя логин и пароль от
В контакте.ру ?!! Видел что-то подобное на В кадре.ру...
То есть пользователь на моём сайте заполняет форму
(логин и пароль) и если всё верное получает доступ к чему-либо на моём сайте.
Буду рад любой помощи!!
А у вконтакта разве API нет?
А вообще-то можно пытаться логиниться с данными которые дает юзер...
ага если залогинишься то себе в отчет все складывай :)
FireFenix
02.09.2009, 16:43
получаем логин пароль -> проверяем авторизацию вконтакте -> если прошла, то даём доступ
superboy4
02.09.2009, 16:47
друзья, но это всё слова
а мне надо приступать к коду! С чего начать, то и какое решение правильно?
FireFenix
02.09.2009, 16:52
Самое лучшее решение - не писать говносайтов!!!!
За тебя никто и ничего делать не будет..... ищи и изучай сам.. гугл в помощь!
Елементарно, пишеш функцию авторизации в ВКАНТАКТЕ на куках курлом, если авторизовался то функция возвращает TRUE и заносит логин:пароль в твою бд юзверей. Писать за тебя никто не будет, но подсказать всегда пжаласта.
снифай заголовки при входе вконтакт.
отправляй заголовок курлом/сокетами с данными которые ввел пользователь.
в зависимости от ответа давай/не давай доступ к контенту своего ресурса.
superboy4
02.09.2009, 17:02
FireFenixСамое лучшее решение - не писать говносайтов!!!!
За тебя никто и ничего делать не будет..... ищи и изучай сам.. гугл в помощь!
Ты не так понял, я не прошу заменя написать мне в кайф получить удовольствие от собственного творения.
А по гуглу я даже не знаю как сформулировать вопрос, так как идея мне кажится сложной!!
superboy4
02.09.2009, 17:05
Кстати есть ещё userapi.com
Api Вконтакте, но мне кажится он не уместен...
login999
02.09.2009, 17:08
Кстати есть ещё userapi.com
Api Вконтакте, но мне кажится он не уместен...
В качестве элементарной проверки в принципе можно попробовать написать свое приложение для вк и сделать проверку через него. Правда хз как это нормально и правильно реализовать.
superboy4
02.09.2009, 17:30
а где можно почитать о Curl на русском?
imajo.ati
02.09.2009, 17:45
если знаком с PHP и MySQL
то отредактируй это:
<?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 я непойму зачем там БД с ней там гемора выйдет потому как при авторизации надо будет обращяться к БД , а потом если результат будет хреновый к запросу на контакт.
от нечего делать накидал пару строк...
<!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>
imajo.ati
02.09.2009, 17:54
2imajo.ati я непойму зачем там БД с ней там гемора выйдет потому как при авторизации надо будет обращяться к БД
я там добавил строчку, при успешной авторизации через вконтакт в бд пишется запись.
бд для того чтобы многократная авторизация одного и того же акка не требовала обращения к вконтакту
я там добавил строчку, при успешной авторизации через вконтакт в бд пишется запись.
бд для того чтобы многократная авторизация одного и того же акка не требовала обращения к вконтакту
можно и так но это твое дело ,я б во избежания повторных авторизаций устанавливал куки а потом их запрашивал.
как говорит мой старый знакомый: " на вкус и цвет..."
L I G A
Я бы не авторизовавылся на Форме, там бывает капча вылазит, лучше через куки
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;
}
хм.. я бы ни за что в жизни не авторизовался на каком-то левом проекте васи пупкина своим мылом и паролем от вконтакта. что мешает тому же васе пупкину взять и записывать эти лоигны с пассами в файлек, собирая таким оразом еще одну спам-базу?
gisTy ты разгодал злой умысел ТС ))
мдааа идея высший класс *ROFL*
superboy4
03.09.2009, 10:29
gisTy ты разгодал злой умысел ТС ))
мдааа идея высший класс *ROFL*
нифига вы не разгодали, я не собираюсь воровать пароли ни в чём неповинных людей.
Вы что думаете я спятил нахрен?
superboy4 Нет, не спятил, просто считаеш, что все вокруг дурачки, а ты самый хитрый
login999
03.09.2009, 14:53
нифига вы не разгодали, я не собираюсь воровать пароли ни в чём неповинных людей.
Вы что думаете я спятил нахрен?
Либо это недуачная шутка, либо глубокий мороз.
Исходя из твоей логики, то спятивших тут полфорума...
покопай http://userapi.ru/ может подойдёт
тс лишит посещаемости свой сайт
одумайся
superboy4
04.09.2009, 13:42
планы немного изменились.
А если сделать на страничке входа моего проекта, вроде, "чтобы войти на проект, вам нужно сначала залогиниться на вконтакте" , указать ссылку на главную страницу Вконтакте, а потом я смогу получить cookie пользователя, обработать их и соответственно пустить пользователя на мой сайт?
FireFenix
04.09.2009, 13:47
не сможешь получить куки
superboy4
04.09.2009, 13:50
не сможешь получить куки
ок, а почему тогда этот может - vkadre.ru?
geezer.code
04.09.2009, 13:50
ты не сможешь получить куки пользователя.
куки доступны только внутри одного домена.
без предоставления такой функции через API от ВK, "белыми" методами ты этого не добьешся.
Увы, без АПИ твоя идея обречена на провал.
ок, а почему тогда этот может - vkadre.ru?
тебе же уже объяснили в начале топика, вкадре - дочерний а может просто дружественный проект. и им был предоставлен соответствующий API.
superboy4
04.09.2009, 13:56
userapi.ru
Мне что-то непонятно я смогу сделать вход через него таким образом или нет?
geezer.code
04.09.2009, 14:01
http://userapi.ru/?act=doc#authorization
читай здесь!!!111
superboy4
04.09.2009, 14:05
geezer.code
Спасибо, тебе
Что ещё можно сказать Павел Дуров собственно - обыкновенный человек, который даже api грамотно реализовать не может, как к примеру он реализован на facebook и twitter, хотя бизнесмен из него хороший, хитрый выпусник СГУ однако...
Тему можно закрыть!!
geezer.code
04.09.2009, 14:09
за что мне спасибо ? за то что за тебя прочитал документацию?
ну так пожалуйста,
Sharky давал эту ссылку тебе еще постов 8 назад.
superboy4
08.09.2009, 19:35
Я бы не авторизовавылся на Форме, там бывает капча вылазит, лучше через куки
b3 Мне кажится, что твой код не будет работать, так как куки функционируют в пределах одного домена или я ошибаюсь??? Что-то я не пойму, что он делает...
max_rebel
09.09.2009, 12:30
друзья, но это всё слова
а мне надо приступать к коду! С чего начать, то и какое решение правильно?
купи любую книгу по php, по 2 часа в день учишь, через неделю сделаешь всё что нужно. Лбщую схему тебе Феникс написал
MafiaBoy3, ты что ли))))))?
b3 Мне кажится, что твой код не будет работать, так как куки функционируют в пределах одного домена или я ошибаюсь??? Что-то я не пойму, что он делает...
Ты сам себе противоречиш, как можно говорить "Мне кажится, что твой код не будет работать" и в тоже время "Что-то я не пойму, что он делает".
Что-то из серии: "Хочу сделать хз как, хз что и чтобы это как-то работало... не знаю ваще и понять не могу т.к. для меня это жопа ваще, но вы мне помогите, друзья, а то мне надо завтра бабло уже получить от работадателя...". Тут такие прям матери Терезы, что за так тебе ща сворганят усе за так... Если тебе нужно просто давать залогиниться на сайте только тем, кто ввел верные данные контакта, то тупо запрос на сервер через сокеты, если пас верный, то пускаешь. Собственно, этот вариант тебе ещё феникс предложил в самом начале. И вообще, нафига такой дибилизм?
Pashkela
11.09.2009, 01:53
ппц, главное ему еще что-то объясняют, да еще на полном серьезе.
ЗЫЖ Хочу создать свой проект, но идея в том, чтобы там можно было бы логиница теми же логинами и паролями, что на ачаде. Чтобы не заморачиваца с API и прочими ARTIFACT-ми, просьба логины и пароли кидать мне сразу в личку. Помогите, а то я нуб в натуре.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot