Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Безопасный обмен данными между сайтами, нужен совет по реализации
Форумы портала PHP.SU » » Вопросы новичков » Безопасный обмен данными между сайтами, нужен совет по реализации

Страниц (1): [1]
 

1. Needless - 13 Июля, 2012 - 12:28:47 - перейти к сообщению
Ситуация такая, есть около 10 сайтов(с технической точки идентичные друг другу), где в каждом есть пользовательские профили ссылающиеся друг на друга. То есть пользователь сайта 1 (смотри вложение рисунок) может быть закреплен за пользователем как своего сайта, так и за пользователем любого другого сайта, со всеми другими ситуация идентичная... Посоветуйте как лучше реализовать данную схему.

ИМХО подход с 10 сайтами сложился исторически и приходится отталкиваться от этой ситуации

Я хочу реализовать схему так:
1. На сайте 1 есть единая база всех пользователей и отношений между ними, в случае добавления пользователя на любом из сайтов там он добавляется тоже.
2. На остальных сайтах есть локальные пользователи и случае, если необходима информация о каком-то пользователе находящемся вне базы, то я делаю запрос к базе главного сайта.

Плиз скажите как лучше это было бы реализовать и обеспечить безопасную передачу данных.

Думаю о обращению к скриптам на каждом сайте, при помощи https.
2. DeepVarvar - 13 Июля, 2012 - 12:38:14 - перейти к сообщению
С чего вы взяли что база зависима от сайта?
Делайте одну базу, которая содержит все данные.
И пусть хоть сто сайтов к ней обращаются.
Не справляется сервер с БД? Распределяйте базу на несколько серверов.
Сайты тут вообще ни при чем.
3. sheff2000 - 13 Июля, 2012 - 15:46:24 - перейти к сообщению
Needless пишет:
Плиз скажите как лучше это было бы реализовать и обеспечить безопасную передачу данных.

Думаю о обращению к скриптам на каждом сайте, при помощи https


DeepVarvar
наверное самое правильно решение Вам предлагает

1.
Делаете одну БД с пользователями
(можно и для контента всех сайтов - тогда разделяйте таблицы разных сайтов префиксами)
2. Каждого пользователя маркируете по какому то полю - выставляете принадлежность к тому или другому сайту.
Содержимым такого маркера может выступать название префикса таблиц определенного сайта (для простоты генерации скриптов выборки из БД на сайтах). Сразу зарезервируйте пару маркеров, которые буду означать "супер-пользователей" (имеют доступ на всех сайтах к примеру)

3. Непосредственно сайты могут физически находится на одном сервере (либо стойке серверов. это уже от нагрузок)
В таком случаи безопасность передачи данных от БД к сайту обеспечивается безопасностью выполнения скрипта на сервере. Передача данных по внешним каналам не происходит.

UPD.
Если я правильно понял Вашу задачу, то схема взаимосвязи у Вас должна преобразоваться примерно в такую как на рисунке (очень упрощенно конечно).
4. Needless - 14 Июля, 2012 - 10:47:13 - перейти к сообщению
вы правы, подход с одной базой будет правильнее и проще. Возникает проблема обращения к базе с других сайтов. На хостингах доступ к базе доступен только через localhost. Как лучше реализовать взаимодействие с базой из вне ? Я думаю может быть soap или xml-rpc... Подскажите как лучше будет.
5. snikers987 - 14 Июля, 2012 - 14:52:13 - перейти к сообщению
Needless пишет:
вы правы, подход с одной базой будет правильнее и проще. Возникает проблема обращения к базе с других сайтов. На хостингах доступ к базе доступен только через localhost. Как лучше реализовать взаимодействие с базой из вне ? Я думаю может быть soap или xml-rpc... Подскажите как лучше будет.

Очевидно же, что проще взять хостинг на котором можно разрешить доступ к бд из вне, и разрешить обращение с нужных ip.

 

Powered by ExBB FM 1.0 RC1