Как реальзовать
Как реальзовать
Приветствую! Помогите реальзовать файл обработчик для авторизации через ВК
К примеру: пользователь вставил ссылку в поле нажал далее, и ему надо вставить текст в статус для проверки подлинности страницы, текст вставил и нажал войти и он в своем личном кабинете! в ВК API такого нет!
К примеру: пользователь вставил ссылку в поле нажал далее, и ему надо вставить текст в статус для проверки подлинности страницы, текст вставил и нажал войти и он в своем личном кабинете! в ВК API такого нет!
Re: Как реальзовать
метод http://vk.com/dev/users.get там есть поле status. вот и получайте
Re: Как реальзовать
Я был там! Мне не помогло! Пожалуста помогите написать этот код
Re: Как реальзовать
тут все легко: человек вводит ссылку на страницу, а вы получаете при помощи регулярных выражений id, потом просите установить X-статус, а потом php проверяет и все!
Re: Как реальзовать
вот код:
Помоготе мне от сюда убрать регистрацию и авторизацию. только чтобы пользовательвводил ссылку и статус
Код: Выделить всё
<?php /** * Класс AUTH - предназначен для работы с аторизации пользователя, а так же с регистрации и восстановление пароля * Доступен из любой точки программы. */ class AUTH { /** * Главная часть класса вызывается с APP * Получает GET, POST - запроос. Получаемт method * Если найден нужный параметр, запскем его прерываем проверку */ static public function userStart () { switch ($_REQUEST['method']) { case 'login': { AUTH::login(); break; } case 'reg': { AUTH::reg(); break; } case 'restore': { AUTH::restore(); break; } default: { exit; } } } /** * Функция служит для декодирование регистрации пользователя * Проверяем на true все полученные параметры * Экранируем XSS и SQL атаки */ static public function reg () { if ((URL::userXss($_POST['uid'])) && (URL::userXss($_POST['login'])) && ($_POST['password'])) { // Проверяем uid пользователя в базе на не существование if (AUTH::userCheckUidBase (URL::userNumber($_POST['uid']))) { // Проверяем логин пользователя в базе на не существование if (AUTH::userCheckLoginBase (URL::userXss($_POST['login']))) { // Проверяем статус пользователя (подверждаем законость страницы) if ($userInfo = AUTH::userCheckVk (URL::userXss($_POST['uid']))) { // Записываем в базу и cookie в браузер BD::userQuery ('INSERT INTO `user_balance` SET `userUid` = "'.$userInfo['response'][0]['uid'].'", `userType` = "userSystem", `userCount` = "+200", `userText` = "Бонус за регистрацию", `userDate` = "'.time().'"'); BD::userQuery ('INSERT INTO `user_base` SET `userLogin` = "'.URL::userXss ($_POST['login']).'", `userPass` = "'.md5 (md5 (URL::userXss ($_POST['password']))).'", `userUid` = "'.$userInfo['response'][0]['uid'].'", `userName` = "'.$userInfo['response'][0]['first_name'].' '.$userInfo['response'][0]['last_name'].'", `userPhoto` = "'.$userInfo['response'][0]['photo'].'", `userMoney` = "200", `userNumberJobs` = "0", `userTaskJobs` = "0", `userTaskIgnore` = "0", `userBrowser` = "'.$_SERVER['HTTP_USER_AGENT'].'", `userRegTime`= "'.time().'", `userAuthTime` = "'.time().'"'); URL::userTypeCookie (URL::userXss ($_POST['login']), URL::userXss ($_POST['password']), $userInfo['response'][0]['uid']); } } } } } /** * Функция служит для авторизации пользователя * Проверяем на true все полученные параметры * Экранируем XSS и SQL атаки * Если все нормально записываем новое время входа и cookie в браузер */ static public function login () { if ((URL::userXss ($_POST['login'])) && ($_POST['password'])) { // Если есть в базе, то возрашет на true if (AUTH::userCheckBase (URL::userXss ($_POST['login']), URL::userXss ($_POST['password']))) { // Перезаписываем новое время авторизации пользователя BD::userQuery ('UPDATE `user_base` SET `userAuthTime` = "'.time().'" WHERE `userLogin` = "'.URL::userXss ($_POST['login']).'"'); URL::userTypeCookie (URL::userXss ($_POST['login']), $_POST['password']); } } } /** * Функция служит для восстановление пароля * Проверяем на true все полученные параметры * Экранируем XSS и SQL атаки * Проверяем логин в базе на существование * Просеряем статус пользователя в VK * Если все ок перезаписываем пароль пользователя */ static public function restore () { if ((URL::userXss ($_POST['login'])) && ($_POST['new_password'])) { // Проверяем логин на существование в базе $userCheckLogin = BD::userQuery('SELECT `userLogin`, `userUid` FROM `user_base` WHERE `userLogin` = "'.URL::userXss ($_POST['login']).'"'); if (mysql_num_rows($userCheckLogin)) { $userCheckUid = mysql_fetch_array ($userCheckLogin); // Проверяем статус пользователя VK $userCheckUidVk = URL::userJsonDecode ('https://api.vk.com/method/status.get?uid='.$userCheckUid['userUid'].'&access_token=3aaedad4f460fdb190385bc3eac690ba5bcc28575fecb0410dbf8a03ff4432ad9f65d5674102118aa0686'); if ($userCheckUidVk['response']['text'] == 'Я люблю тебя') { // Перезаписываем пароль пользователя в базу BD::userQuery('UPDATE `user_base` SET `userPass` = "'.md5 (md5 ($_POST['new_password'])).'" WHERE `userUid` = "'.$userCheckUid['userUid'].'"'); AUTH::userErrorMessage(1); } else { AUTH::userErrorMessage(2); } } else { AUTH::userErrorMessage(3); } } } /** * Функция служит для вывода ошибок файлу, который обрабатывает id ошибок * Посылает запрос обработчику и завершает весь процесс работы сервиса */ static public function userErrorMessage ($userNumberError) { echo $userNumberError; exit; } /** * Проверяем пользователя статус VK для дальнейший процесса регистрации * Если статус установлен, получаем информацию по пользователю * Если ним чего нет, возрашаем ошибку */ static public function userCheckVk ($userUid) { $userCheckVk = URL::userJsonDecode ('https://api.vk.com/method/users.get?fields=photo&uids='.self::userUidVkCheck($userUid)); $userCheckStatusVk = URL::userJsonDecode ('https://api.vk.com/method/status.get?uid='.$userCheckVk['response'][0]['uid'].'&access_token=3aaedad4f460fdb190385bc3eac690ba5bcc28575fecb0410dbf8a03ff4432ad9f65d5674102118aa0686'); if ($userCheckStatusVk['response']['text'] == 'Я люблю тебя') { return $userCheckVk; } else { AUTH::userErrorMessage(3); } } /** * Проверяем id пользователя на коректность */ static public function userUidVkCheck ($userUid) { if (preg_match('/vk.com\/[A-z0-9]+/', $userUid, $userUid)) { return str_replace ('vk.com/', '', $userUid[0]); } } /** * Проверяет правильность веденных данных в поле авторизации * Если пользователя нет в базе, возращаем ошибку */ static public function userCheckBase ($userLogin, $userPass) { if ($userCheckBase = BD::userSqlNumRows ('SELECT `id` FROM `user_base` WHERE `userLogin` = "'.$userLogin.'" AND `userPass` = "'.md5 (md5 ($userPass)).'"')) { return true; } else { AUTH::userErrorMessage(1); } } /** * Проверяем UID пользователя в базе * Если, есть то выводим ошибку, если нет то возрашаем true * Служит для формы регистрации */ static public function userCheckUidBase ($userUid) { if (BD::userSqlNumRows('SELECT `userUid` FROM `user_base` WHERE `userUid` = "'.$userUid.'"')) { AUTH::userErrorMessage(4); } else { return true; } } /** * Проверяем логин пользователя в базе * Если, есть то выводим ошибку, если нет то возрашаем true * Служит для формы регистрации */ static public function userCheckLoginBase ($userLogin) { if (BD::userSqlNumRows('SELECT `userLogin` FROM `user_base` WHERE `userLogin` = "'.$userLogin.'"')) { AUTH::userErrorMessage(5); } else { return true; } }}
Re: Как реальзовать
Это же класс,не надо оттуда ничего убирать,просто что тебе в классе не надо тем и не пользуйся.
Re: Как реальзовать
тогда может здесь что-то изменить?
Код: Выделить всё
_reg: function() { var url = $('#reg_vk').val(); var login = $('#reg_login').val(); var password = $('#reg_password').val(); $('#reg_error').hide().html(''); $('#reg_button .box_button_first').html('<div class="upload_inv"></div>'); if (url != '' && login != '' && password != '') { $.post('/auth', { method: 'reg', uid: url, login: login, password: password }, function(data) { var response = data.match(/\d+/); if(response == 2) { $('#reg_button .box_button_first').html('<div class="upload_inv"></div>'); location.href = '/home'; } else if(response == 5) { userErrorMessage ('Такой логин уже занят.'); $('#reg_button .box_button_first').html('Зарегистрироваться <b>»</b>'); } else if(response == 4) { userErrorMessage ('Пользователь с такой ссылкой уже зарегистрирован на нашем сайте.'); $('#reg_button .box_button_first').html('Зарегистрироваться <b>»</b>'); } else if(response == 3) { var error = '\ <div id="reg_error_table">\ <b>Подтвердите, что страница принадлежит Вам.</b>\ <div class="text">Установите в статусе данный текст «<b>Я люблю тебя</b>». После завершения регистрации, можете убрать.</div>\ </div>'; $('#reg_error').show().html(error); $('#reg_button .box_button_first').html('Завершить регистрацию <b>»</b>'); } else if(response == 6) { userErrorMessage ('Ошибка соединения с сервером.'); $('#reg_button .box_button_first').html('Зарегистрироваться <b>»</b>'); } }); } else { userErrorMessage ('Пожалуйста, заполните все необходимые поля'); $('#reg_button .box_button_first').html('Зарегистрироваться <b>»</b>'); } }}
Re: Как реальзовать
Да в этом файле и меняй.
Re: Как реальзовать
cibersant, подскожи пожалуйста где?