[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обмен между сайтами
denis79513
В общем у меня нет практики по этой части программирования (взаимодействие сайтов) поэтому прошу пнуть меня в нужном направлении. Есть 2 сайта. Один главный, второй - клиент. Цель - чтобы сайт клиент мог запустить приложение (php) только по разрешению главного сайта. Так же нужно чтобы сайт клиент не мог отредактировать исходный код приложения и запустить его без ведома главного сайта.

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





Спустя 3 минуты, 41 секунда (30.05.2012 - 13:51) inpost написал(а):
denis79513
никак, только если информацию ты не будешь доставать из главного через file_get_contents с каждым действием, а БД хранить на главном сайте.
Но даже это не помешает человеку изменить код, единственное о не будет знать на какой именно его код менять надо. Посмотри технологию, как сделан Diablo3 ...

Спустя 5 минут, 43 секунды (30.05.2012 - 13:57) TMake написал(а):
Цитата (denis79513 @ 30.05.2012 - 14:48)
Цель - чтобы сайт клиент мог запустить приложение (php) только по разрешению главного сайта.

На главном делаешь шлюз, где и будешь обрабатывать все запросы.
Цитата (denis79513 @ 30.05.2012 - 14:48)
Так же нужно чтобы сайт клиент

Что вы подразумеваете под "сайт клиент"???

Спустя 1 час, 15 минут, 44 секунды (30.05.2012 - 15:13) Семён написал(а):
Легко! храним исходный код приложения на одном сайте
Затем пост запросом отправляем его на главный сайт с определенной подписью ключом, там проверяем активен ли этот клиент-ключ и выполняем код через eval полученный результат возвращаем клиенту.

Спустя 4 минуты, 46 секунд (30.05.2012 - 15:18) denis79513 написал(а):
Цитата (Семён @ 30.05.2012 - 12:13)
Легко! храним исходный код приложения на одном сайте
Затем пост запросом отправляем его на главный сайт с определенной подписью ключом, там проверяем активен ли этот клиент-ключ и выполняем код через eval полученный результат возвращаем клиенту.

можно поподробнее?

Спустя 45 минут, 33 секунды (30.05.2012 - 16:03) vital написал(а):
Так-то,
SOAP давно придумали.

Клиент должен только получать данные. А всю логику делать сервер.

Спустя 18 часов, 30 минут, 42 секунды (31.05.2012 - 10:34) denis79513 написал(а):
Подумал я еще разок и понял, что мне нужно. Мне нужно чтобы сайт - клиент инклудил исходный код приложения с удаленного сервера и запускал его. Так пользователь сайта клиента никак исходный код не увидит и не отредактирует. Погуглил и нашел, что для того, чтобы удаленное включение файлов было доступно, необходимо в конфигурационном файле (php.ini) установить allow_url_fopen=1. После этой настройки можно будет инклудить файлы с моего сервера. А как сделать чтобы инклудить можно было только определенные файлы и только с определенных сайтов, как бы фильтр поставить.

Спустя 16 минут, 21 секунда (31.05.2012 - 10:50) TMake написал(а):
Цитата (denis79513 @ 31.05.2012 - 11:34)
После этой настройки можно будет инклудить файлы с моего сервера. А как сделать чтобы инклудить можно было только определенные файлы и только с определенных сайтов, как бы фильтр поставить.

Не изобретайте велосипед, изначально задумка неверна, инклудить ни чего не надо.
Пересмотрите свою иерархию, каждому клиенту ставить сервак это не разумно.
Хотите сделать централизовано - Вам ни кто не запрещает.
Делаете сервер Main и сервер Front(или множество Front'ов)
Исходники хроняться на Фронтальных.
Юзверь делает запрос на фронт сервер, фронт сервер через curl обращается на Main сервер с запросом в котором вы указываете подпись юзверя. Main сервер обрабатывает запрос и возвращает результат на фронт. Фронт сервер по результату уже решает выводить ему результат или слать на 404.
Данная возможность вам позволит на фронтальных серваках хранить разные сайты, но обрабатываться будут одним.

Можно хранить на main сервере сайт и выводить его там, а front'альными результат парсить, но тогда нет смысла во фронтальных.

Спустя 5 часов, 43 минуты, 9 секунд (31.05.2012 - 16:33) denis79513 написал(а):
Мне нужно именно чтобы скрипт выполнялся на стороне клиента, но не без ведома сервера. И исходный код скрипта был защищен. Поэтому думаю удаленный инклуд подойдет, а если делать чтобы скрипт выполнялся на стороне сервера и юзверь только посылал запрос и получал исходники, мне нужно переписывать весь скрипт. Когда я его писал не предполагалось что нужно будет использовать в таких условиях.

Спустя 2 дня, 11 часов, 15 минут, 17 секунд (4.06.2012 - 03:49) SitnikovArtur написал(а):
Дело в том, что "удаленный include" в любом его проявлении отдаст исходник, который можно сохранять себе. Защитить исходник можно только отдав данные, собственно реализовав API.

Если интересно, могу показать вам пример работы с выдачей исходника для исполнения на другом сервере. А потеря времени на транспорт не беспокоит?

Спустя 4 часа, 55 минут, 5 секунд (4.06.2012 - 08:44) SlavaFr написал(а):
Цитата (denis79513 @ 31.05.2012 - 13:33)
Поэтому думаю удаленный инклуд подойдет, а если делать чтобы скрипт выполнялся на стороне сервера и юзверь только посылал запрос и получал исходники, мне нужно переписывать весь скрипт.


Неужели все так написанно, что нельзя переделать какую нибудь важную функцию так, чтоб она вызывалась на другом сервере?
Всего одну или несколько?
Если нет, так этот код все ровно надо оптимировать, так как ты его через 3 месяца сам не сможеш разобрать.

Спустя 20 минут, 10 секунд (4.06.2012 - 09:04) TMake написал(а):
Цитата (denis79513 @ 31.05.2012 - 17:33)
Мне нужно именно чтобы скрипт выполнялся на стороне клиента, но не без ведома сервера.
Цитата (denis79513 @ 31.05.2012 - 17:33)
Поэтому думаю удаленный инклуд подойдет

А что мешает клиенту посмотреть исходник???
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.