2012-02-13 2 views
0

У меня есть 2 веб-сайта с системой входа в систему.facebook-twitter как система входа в php

Участники зарегистрированы на одном веб-сайте.

Я хочу, чтобы все участники, зарегистрированные на сайте «А», не должны регистрироваться на сайтах «Б». Используя учетные данные на веб-сайте «A», участники должны иметь возможность входа на сайт «B».

Это также должно быть безопасным способом.

+0

Что мне делать, чтобы принимать ответы на другие вопросы? –

+0

Существует прозрачный «[да проверка] (http://icongal.com/gallery/image/89444/confirmed_yes_check_ok_accept_positiv_green.png)« ниже оценки каждого ответа. Просто нажмите на лучший ответ. Благодарю. –

+0

ОК, я понял. Спасибо, я отметю все проверенные ответы. –

ответ

1

Вы можете выполнить всю свою аутентификацию на веб-сайте A и использовать шифрование для входа на сайт B. Таким образом, если пользователь подписывается на сайт A, они перенаправляются на первый сайт, успешно проходят проверку подлинности и затем перенаправляются с помощью хэш на сайт B.

хэша может быть что-то вроде этого:

sha1(shared_secret + username + time_rounded_to_2_mins)

Это можно легко проверить на сайте B, и, поскольку она содержит приближение времени, не подвержен переигрывать атаки. Я сделал что-то подобное, и он работает очень хорошо. (Временное приближение допускает небольшую вариацию в серверных часах - но если они превышают уровень вашего приближения, это не сработает.)

+0

Я хочу, чтобы все работало, как показано ниже. Если пользователь уже зарегистрирован на сайте A, то он должен быть автоматически зарегистрирован на сайте B. И если член выходит из любого веб-сайта, он должен быть выведен на оба веб-сайта. Можно ли использовать один и тот же сеанс между ними или что-то в этом роде? –

+0

Нет. Сеансы основаны на файлах cookie, которые работают на домен (то есть сеанс на mywebsite.com никогда не будет работать на myotherwebsite.com). Вы вообще что-то контролируете на веб-сайте A? Если нет, это будет отверстие безопасности, позволяющее использовать общие учетные данные или сеансы. –

+0

@RAJESHBANSAL: да, вы можете это сделать. Когда сайт B перенаправляется на страницу входа на сайт A, вы обнаруживаете это и немедленно отправляете перенаправленную аутентификацию. Когда вы выходите на любой сайт, вы можете перенаправить на другой, отправив другой аутентифицированный токен, чтобы вывести их из системы, а затем перенаправить обратно. – halfer

0

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

Имеет ли сайт B доступ к базе данных сайта A?

+0

Веб-сайт A не имеет доступа к веб-сайту B. Веб-сайт A не предоставляет учетные данные dababase с веб-сайтом B. Я хочу, чтобы для тех, кто хочет войти в систему, он должен быть перенаправлен на веб-сайт. Форма входа в систему и после успешного входа в систему перенаправляется на веб-сайт B в качестве авторизации пользователя, и он должен иметь доступ к области участника. –

Смежные вопросы