2013-08-01 4 views
0

У меня есть основной сайт (с базой данных SQL базы данных), и у меня есть спутниковые сайты, которые являются отдельными доменами. Каждый из этих сайтов размещен провайдером и имеет свои собственные базы данных SQL, однако я не хочу поддерживать 6 или 7 разных баз данных. Вместо этого я хотел бы только один централизованный.Можно ли отправлять данные POST через домены с помощью PHP?

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

Возможно ли это, и если да, то каким образом?

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

Заранее спасибо.

+0

Спасибо за ответы. В конце концов, я действительно не понял многие ответы, приведенные здесь (:)), за исключением создания веб-службы, которая могла получать запросы. Поэтому я подумал об этом некоторое время и придумал решение о добавлении ссылки в автогенерированную электронную почту, в которой содержались данные GET, которые я мог бы забрать на своем основном сайте, - поэтому перенося данные между доменами. Может ли кто-нибудь увидеть какие-либо серьезные проблемы с этим? Или они могут объяснить некоторые из этих ответов более упрощенно? – Anthony

+0

Кроме того, я не мог настроить удаленный доступ к моему основному серверу - мой хостинг-провайдер не допустил бы этого. – Anthony

ответ

1

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

Вы должны быть очень осторожны с такой проектной идеей, так как ваш скрипт будет получать запросы на междоменные запросы из разных источников и может быть подвержен атакам CSRF, если вы не предпримете некоторые дополнительные меры безопасности, подтвердив источники и формы из на которые поступают запросы.

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

0

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

0

Да, это, безусловно, возможно, и, вероятно, лучше сделать это на стороне сервера с PHP, а не на стороне клиента с AJAX, потому что на клиенте вы столкнетесь с проблемами XSS. Вероятно, вам нужно будет создать свои собственные конечные точки API, и я предлагаю просмотреть this article для получения дополнительной информации о выполнении запросов.

0

Вы можете создавать почтовые запросы и отправлять в любой домен. Это не проблема. Выполнение запросов на межсайтовый сайт может быть проблематичным, но хотелось бы видеть ваш код!

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