форум vBSupport.ru > vBSupport.ru > Идеи для реализации
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
Славка
Специалист
 
Славка's Avatar
Default Авторизация через Гугл
0

На форуме была тема с регистрацией через Логинзу. Но сегодня набрёл на описание регистрации через Гугл (если есть акк на нём) и на её основе и Твитера и Фейсбука тоже можно сделать.

Ну вот само описание (взято на вебмастерс.бай) :

Этот сервис называется federated login, и построен на основе протокола OAuth2. Это сложный процесс, который включает в себя обмен данными между вашим сервером и Google, но мы оставим всю эту работу PHP-библиотеке от Google, которая будет почти все обрабатывать на стороне сервера.

Используя этот сервис вы можете значительно упростить процесс авторизации/регистрации для вас и ваших пользователей. Вот некоторые из преимуществ:

Не нужно создавать и проверять формы регистрации и авторизации;
Нет необходимости в функции восстановления забытого пароля;
Очень упрощенная авторизация/регистрация - вы получите электронную почту человека, имя и фото с помощью одного щелчка мыши;
Адрес уже проверен Google, так что вам не нужно отправлять сообщение для подтверждения.
Серьезная безопасность со стороны Google.

Конечно, это будет работать только если у человека есть аккаунт Google, поэтому имеет смысл использовать этот сервис как дополнение к существующей системе регистрации. Итак, давайте начнем!

Установка

Первый шаг заключается в создании нового приложения через Google’s API Console. Следуйте инструкциям для получения дополнительной информации. После завершения процесса, скопируйте полученные ключи в файл setup.php.

Запустите код из schema.sql (вы можете найти его в архиве) в PhpMyAdmin или ему подобном инструменте. Он создаст glogin_users таблицу в базе данных, которая будет использоваться для хранения информации об учетных записях пользователей вашего приложения. После этого, напишите свои данные подключения к базе данных в setup.php.

PHP

Форму входа мы делаем используя Google’s Federated login. Это означает, что посетители вашего веб-сайта переходят по ссылке на страницу Google, где они предоставляют приложению доступ к своему аккаунту, и затем будут перенаправлены обратно. После этого вы получаете token для доступа, который можно использовать для запроса информации о них. Вот упрощенное описание процесса авторизации:

Когда пользователь нажимает кнопку "Sign in with Google" в нашем демо, они переходят на страницу авторизации Google, где они видят, какие разрешения просит наше приложение.
После разрешения дать доступ этому приложению, они будут перенаправлены обратно на сайт, при этом специальный параметр code передается в URL. Наше приложение будет использовать этот код, чтобы получить token доступа;
С помощью token, приложение запрашивает информацию о пользователе, которая сохраняется в базу данных.

Для чтения и вставки в базу данных, я использую крошечную библиотеку Idiorm, которую вы можете найти в папке library.

Наш PHP-код организован следующим образом:

index.php - это основной файл приложения;
setup.php - этот файл содержит информацию соединения с базой данных и ключи полученные из Google’s API Console;
Папка library - содержит библиотеку Idiorm, PHP библиотеки Google, и класс для включения метки относительного времени.

Давайте взглянем на код в начале index.php:

PHP Code:
require 'setup.php'// Create a new Google API client
$client = new apiClient();
//$client->setApplicationName("Tutorialzine"); // Configure it
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setDeveloperKey($api_key);
$client->setRedirectUri($redirect_url);
$client->setApprovalPrompt(false);
$oauth2 = new apiOauth2Service($client); // The code parameter signifies that this is
// a redirect from google, bearing a temporary code
if (isset($_GET['code'])) {     // This method will obtain the actuall access token from Google,
    // so we can request user info
    
$client->authenticate();     // Get the user data
    
$info $oauth2->userinfo->get();     // Find this person in the database
    
$person ORM::for_table('glogin_users')->where('email'$info['email'])->find_one();     if(!$person){
        
// No such person was found. Register!         $person = ORM::for_table('glogin_users')->create();         // Set the properties that are to be inserted in the db
        
$person->email $info['email'];
        
$person->name $info['name'];        
     
       if(isset(
$info['picture'])){
            
// If the user has set a public google account photo
            
$person->photo $info['picture'];
        }
        else{
            
// otherwise use the default
            
$person->photo 'assets/img/default_avatar.jpg';
        }         
// insert the record to the database
        
$person->save();
    }     
// Save the user id to the session
    
$_SESSION['user_id'] = $person->id();     // Redirect to the base demo URL
    
header("Location: $redirect_url");
    exit;
// Handle logout
if (isset($_GET['logout'])) {
    unset(
$_SESSION['user_id']);
$person null;
if(isset(
$_SESSION['user_id'])){
    
// Fetch the person from the database
    
$person ORM::for_table('glogin_users')->find_one($_SESSION['user_id']); 
Что происходит здесь, мы проверяем наличие code в $ _GET параметрах. Как я уже упоминал выше, этот параметр установливается Google, когда пользователь перенаправляется обратно после того как разрешит доступ приложению. Затем мы запрашиваем информацию о пользователе и записываем её в базу данных. Идентификатор пользователя (значение идентификатора в базе данных) записывается в сессию. Он сохраняется между запросами и используется в качестве флага, о том что пользователь прошел идентификацию

Оффтоп

Ближе к концу, мы определяем переменную $person. Она содержит объект, который возвращается библиотекой Idiorm, со свойствами для каждого столбца таблицы glogin_users. Вы можете видеть, как этот объект используется в следующем разделе.

HTML

HTML-код для нашего примера находится в нижней части index.php. Поэтому у нас есть доступ к объекту $person, который пригодиться при выводе на экран имени и фотографии пользователя. Сама страница является стандартным документом HTML5:

HTML Code:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Google Powered Login Form</title>         <!-- The stylesheets -->
        <link rel="stylesheet" href="assets/css/styles.css" />
        <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700" />         <!--[if lt IE 9]>
         <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
       <![endif]-->
    </head>     <body>         <h1>Login Form</h1>
        <div id="main">             <?php if($person):?>
                <div id="avatar" style="background-image: url('/<?php echo $person->photo?>?sz=58')"></div>
                <p class="greeting">Welcome, <b><?php echo htmlspecialchars($person->name)?></b></p>
                <p class="register_info">You registered <b><?php echo new RelativeTime($person->registered)?></b></p>
                <a href="?logout" class="logoutButton">Logout</a>
            <?php else:?>
                <a href="<?php echo $client->createAuthUrl()?>" class="googleLoginButton">Sign in with Google</a>
            <?php endif;?>         </div>    
</body>
</html>
Мы проверяем, содержит ли объект переменная $person и затем отображаем имя пользователя и его фотографию. В противном случае, мы выводим URL авторизации, который указывает на страницу аутентификации Google для нашего приложения.
Мы это сделали!

Теперь наша регистрационную форма, при помощи Google, завершена! Вы можете использовать ее на существующих веб-сайтах без особых усилий. Кроме того, Facebook, Twitter, Github и многие другие поддерживают OAuth авторизацию, поэтому можно при желании реализовать решение все-в-одном, которое поддерживает все основные социальные сети.

Демо

Исходники


Что скажете? Есть шанс прикрутить в булке?
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Luvilla
Гость
Default

http://ulogin.ru/
всё уже прикручено
демо http://oldbmw.ru/
под формой логина - это не соц-сети/лайки, это ulogin

скрин админки:



можно оставить только гугла)
 
 
Славка
Специалист
 
Славка's Avatar
Default
0

Демка не работает :( Уже есть тема с обсуждением Улогина? (не нахожу :( ) Как там их продукт? С логинзой пробовал на демо форумах входить... 1 раз из 10 получается. Поэтому и обратил внимание на сервис гугла.
 
 
Luvilla
Гость
Default

Quote:
Originally Posted by Славка View Post
Демка не работает :(
работает
по крайней мере, через гугл

//вы там не особо того... живой форум, не тестовый)
 
 
vlady
Эксперт
vBSponsor
Default
0

Luvilla, странная штука этот ulogin. Имена юзеров генерит такие, за которые я обычно баню (напр, сгенерил Potoskay46)
Причем, он добавляет сгенеренный юзернейм к существующему email-аккаунту, в результате чего присьма юзерам не приходят. (в моем случае адрес эл. почты стал выглядеть, как testuser+Potockay46@*****.ru
 
 
Kristof
Эксперт
 
Kristof's Avatar
Default
0

Работает, я пробовал)) Пока там Лью по admincp лазила я нагло погулял по форуму.
Ps: vlady а кто сказал, что он их генерирует?
Pss: Попробовал зайти через гугл, определил как - Лабрина Ирина. Лью, твои проделки?

Last edited by Kristof : 08-12-2012 at 02:54 AM.
 
 
vlady
Эксперт
vBSponsor
Default
0

Quote:
Originally Posted by Kristof View Post
vlady а кто сказал, что он их генерирует?
ну это как бы следует из того, что подобный дурацкий ник не мог бы придти мне в голову, пользователь google также имеет другое имя.

vlady добавил 12.08.2012 в 02:08
Quote:
Originally Posted by Kristof View Post
Pss: Попробовал зайти через гугл, определил как - Лабрина Ирина. Лью, твои проделки?
Pss: irina.labrina@гмаил.com
на oldbmw я тоже Лабрина Ирина. Крутой хак!

Last edited by vlady : 08-12-2012 at 03:08 AM. Reason: Добавлено сообщение
 
 
Kristof
Эксперт
 
Kristof's Avatar
Default
0

Quote:
Originally Posted by vlady View Post
пользователь google также имеет другое имя.
Я только потом соизволил проверить и свой, может пошутил кто))
Ps: Я думаю, хак в порядке, тут другое кроется..
 
 
vlady
Эксперт
vBSponsor
Default
0

Kristof, я проверил хак и на своем форуме - он не в порядке.
 
 
Luvilla
Гость
Default

хз, никто до вас не жаловался
может, у гугла что-то глюкнуло...
хак не мой, я только разместил объяву
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 06:43 AM.


Powered by vBulletin® Version 3.0.13
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.