Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Как реализовать подобное? (https://forum.antichat.xyz/showthread.php?t=138961)

superboy4 02.09.2009 16:30

Как реализовать подобное?
 
Занимаюсь разработкой сайта (БЕЗ ВОЗМОЖНОСТИ РЕГИСТРАЦИИ ПОЛЬЗОВАТЕЛЯ) и ума не приложу как сделать, чтобы на моём сайте пользователи могли войти на мой же ресурс используя логин и пароль от
В контакте.ру ?!! Видел что-то подобное на В кадре.ру...

То есть пользователь на моём сайте заполняет форму
(логин и пароль) и если всё верное получает доступ к чему-либо на моём сайте.

Буду рад любой помощи!!

SaiRus 02.09.2009 16:41

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

login999 02.09.2009 16:41

вкадре - дочерний проект от вконтакте, Дуров даже давал возможность регистрации своей соц сети с БД вконтакте - т.е. все кто зареганы в ВК могли зайти используя свой логин и пароль в вашу соцсеть, НО это было на его условиях, сомневаюсь что так получится.
А вообще-то можно пытаться логиниться с данными которые дает юзер...

pento 02.09.2009 16:42

Цитата:

Сообщение от superboy4
Занимаюсь разработкой сайта (БЕЗ ВОЗМОЖНОСТИ РЕГИСТРАЦИИ ПОЛЬЗОВАТЕЛЯ) и ума не приложу как сделать, чтобы на моём сайте пользователи могли войти на мой же ресурс используя логин и пароль от
В контакте.ру ?!! Видел что-то подобное на В кадре.ру...

То есть пользователь на моём сайте заполняет форму
(логин и пароль) и если всё верное получает доступ к чему-либо на моём сайте.

Буду рад любой помощи!!

А у вконтакта разве API нет?

SaiRus 02.09.2009 16:43

Цитата:

Сообщение от login999
А вообще-то можно пытаться логиниться с данными которые дает юзер...

ага если залогинишься то себе в отчет все складывай :)

FireFenix 02.09.2009 16:43

получаем логин пароль -> проверяем авторизацию вконтакте -> если прошла, то даём доступ

superboy4 02.09.2009 16:47

друзья, но это всё слова
а мне надо приступать к коду! С чего начать, то и какое решение правильно?

FireFenix 02.09.2009 16:52

Самое лучшее решение - не писать говносайтов!!!!

За тебя никто и ничего делать не будет..... ищи и изучай сам.. гугл в помощь!

b3 02.09.2009 16:54

Елементарно, пишеш функцию авторизации в ВКАНТАКТЕ на куках курлом, если авторизовался то функция возвращает TRUE и заносит логин:пароль в твою бд юзверей. Писать за тебя никто не будет, но подсказать всегда пжаласта.

L I G A 02.09.2009 16:54

снифай заголовки при входе вконтакт.
отправляй заголовок курлом/сокетами с данными которые ввел пользователь.
в зависимости от ответа давай/не давай доступ к контенту своего ресурса.

superboy4 02.09.2009 17:02

FireFenix
Цитата:

Самое лучшее решение - не писать говносайтов!!!!

За тебя никто и ничего делать не будет..... ищи и изучай сам.. гугл в помощь!
Ты не так понял, я не прошу заменя написать мне в кайф получить удовольствие от собственного творения.
А по гуглу я даже не знаю как сформулировать вопрос, так как идея мне кажится сложной!!

superboy4 02.09.2009 17:05

Кстати есть ещё userapi.com
Api Вконтакте, но мне кажится он не уместен...

login999 02.09.2009 17:08

Цитата:

Сообщение от superboy4
Кстати есть ещё userapi.com
Api Вконтакте, но мне кажится он не уместен...

В качестве элементарной проверки в принципе можно попробовать написать свое приложение для вк и сделать проверку через него. Правда хз как это нормально и правильно реализовать.

superboy4 02.09.2009 17:30

а где можно почитать о Curl на русском?

imajo.ati 02.09.2009 17:45

если знаком с 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($res00) == $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 
'Введите правильные данные';
    }
}

?>


L I G A 02.09.2009 17:52

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($chCURLOPT_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($chCURLOPT_POST1);
curl_setopt($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_POSTFIELDS"op=a_login_attempt&email=".urlencode($email)."&pass=".urlencode($pass)."&expire=0");
curl_setopt($chCURLOPT_REFERER"http://vkontakte.ru/index.php");
curl_setopt($chCURLOPT_COOKIEJAR"./cook");
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$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 02.09.2009 18:00

Цитата:

Сообщение от imajo.ati
я там добавил строчку, при успешной авторизации через вконтакт в бд пишется запись.
бд для того чтобы многократная авторизация одного и того же акка не требовала обращения к вконтакту

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

b3 02.09.2009 18:56

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($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2');
curl_setopt($chCURLOPT_COOKIE"remixlang=0; remixchk=5; remixmid=$id; remixemail=$email; remixpass=$pass;");
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_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 02.09.2009 20:08

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

Gar|k 02.09.2009 20:54

gisTy ты разгодал злой умысел ТС ))
мдааа идея высший класс *ROFL*

superboy4 03.09.2009 10:29

Цитата:

gisTy ты разгодал злой умысел ТС ))
мдааа идея высший класс *ROFL*
нифига вы не разгодали, я не собираюсь воровать пароли ни в чём неповинных людей.
Вы что думаете я спятил нахрен?

Gifts 03.09.2009 14:17

superboy4 Нет, не спятил, просто считаеш, что все вокруг дурачки, а ты самый хитрый

login999 03.09.2009 14:53

Цитата:

Сообщение от superboy4
нифига вы не разгодали, я не собираюсь воровать пароли ни в чём неповинных людей.
Вы что думаете я спятил нахрен?

Либо это недуачная шутка, либо глубокий мороз.
Исходя из твоей логики, то спятивших тут полфорума...

Sharky 03.09.2009 15:53

покопай http://userapi.ru/ может подойдёт

bxN5 03.09.2009 16:31

тс лишит посещаемости свой сайт
одумайся

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, "белыми" методами ты этого не добьешся.
Увы, без АПИ твоя идея обречена на провал.

Цитата:

Сообщение от superboy4
ок, а почему тогда этот может - 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

Цитата:

Сообщение от superboy4
друзья, но это всё слова
а мне надо приступать к коду! С чего начать, то и какое решение правильно?

купи любую книгу по php, по 2 часа в день учишь, через неделю сделаешь всё что нужно. Лбщую схему тебе Феникс написал

Chaak 09.09.2009 12:39

MafiaBoy3, ты что ли))))))?

b3 09.09.2009 15:31

Цитата:

b3 Мне кажится, что твой код не будет работать, так как куки функционируют в пределах одного домена или я ошибаюсь??? Что-то я не пойму, что он делает...
Ты сам себе противоречиш, как можно говорить "Мне кажится, что твой код не будет работать" и в тоже время "Что-то я не пойму, что он делает".

sNt 09.09.2009 17:46

Что-то из серии: "Хочу сделать хз как, хз что и чтобы это как-то работало... не знаю ваще и понять не могу т.к. для меня это жопа ваще, но вы мне помогите, друзья, а то мне надо завтра бабло уже получить от работадателя...". Тут такие прям матери Терезы, что за так тебе ща сворганят усе за так... Если тебе нужно просто давать залогиниться на сайте только тем, кто ввел верные данные контакта, то тупо запрос на сервер через сокеты, если пас верный, то пускаешь. Собственно, этот вариант тебе ещё феникс предложил в самом начале. И вообще, нафига такой дибилизм?

SQLHACK 11.09.2009 01:33

уморная тема))))))))))))


Время: 17:36