сделать базу данных доступной для других серверов - PullRequest
0 голосов
/ 14 июля 2011

ОК, я не совсем понимаю, как задать этот вопрос, поэтому, пожалуйста, не стесняйтесь редактировать его.

Вот идея.

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

Я понимаю, как это сделать, когда база данных, запрашивающая html / javascript и обрабатывающий php, находятся на одном сервере.

Я не уверен, можно ли это сделать, если запрашивающий html html / javascript находится на сервере веб-мастера, а phps и база данных обработки находятся на моем сервере.

I 'Я также не уверен, как убедиться, что только авторизованные пользователи могут подключиться к моей базе данных.

На данный момент я ищу решение на макроуровне, а не реализацию кода.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 14 июля 2011

Вместо прямого подключения к удаленному серверу базы данных я предлагаю вам создать простой веб-сервис (такой как PHP-страница, извлекающая информацию из базы данных на основе запроса, указанного в указанной вами строке запроса) для генерации XML / JSON для вашего веб-страница.

Ваша веб-страница, содержащая раскрывающийся список, может сделать AJAX-запрос на получение XML и анализ данных. С помощью этого механизма можно избежать проблем безопасности, вызванных раскрытием базы данных.

1 голос
/ 14 июля 2011

Мой подход к этому заключается в написании веб-службы (будь то SOAP, XMLRPC или REST), которая требует, чтобы пользователи отправляли ключ API с каждым запросом.Служба будет проверять ключ, общаться с базой данных и возвращать результаты пользователю в каком-либо стандартном формате.Ключ API (очевидно) будет уникальным для каждого пользователя / подписки.

0 голосов
/ 14 июля 2011

Вы можете вернуть результаты запроса в php-скрипт в формате JSONP (json с отступом).Это позволяет javascript выполнять метод обратного вызова на исходной веб-странице, даже если служба находится в другом домене.

Возможно, вам потребуется какой-либо способ отслеживания состояния в вашем php-коде, чтобы определить, аутентифицированы ли они.Один из способов заключается в том, чтобы автор сторонней веб-страницы отправлял токен аутентификации во время загрузки своего тела в ваш php-скрипт.Затем вы можете пометить IP-адрес клиента как «аутентифицированный», и тогда все другие запросы с того же IP-адреса вернут действительный результат.Запросы с неаутентифицированного IP-адреса могут вернуть сообщение об ошибке.

IP-адреса, очевидно, не уникальны в нашем мире NAT (трансляция сетевых адресов).Если вы хотите, чтобы он был более надежным, вы можете сгенерировать свой собственный токен внутри PHP и отправить его обратно из запроса на аутентификацию.Сторонний сайт будет хранить этот токен в памяти (или cookie) и отправлять его вам при каждом запросе.Вы будете использовать этот токен в качестве доказательства аутентификации для будущих запросов, а не IP.Это в основном то, как большинство серверов делают сессии, в PHP, вероятно, есть что-то встроенное для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...