Как получить доступ к базе данных из гибридного приложения без пересечения доменов?

Я разрабатываю приложение с PhoneGap (Cordova) + Framework7, и мне нужно подключиться к базе данных. Проблема в том, что это гибридное приложение, что означает, что файлы www являются локальными, а приложение создает внутренний сервер, и поэтому, если вы попытаетесь использовать AJAX для запуска файла php, он пересекает домены, так как попытается добраться до моего веб-сервер, пока он работает на собственном сервере. Что я могу сделать?

(Я знаю, что в Cordova есть утилита WebSQL, которая подключается к SQLite, но моя база данных — MySQL, и я думаю, что она может подключаться только к локальной базе данных)

(Вы не можете переместить php как локальный, потому что Cordova не может запускать php-файлы, а также, вероятно, не очень безопасно)


person Mister R.U.B.I    schedule 23.05.2019    source источник


Ответы (1)


Я предлагаю использовать Ajax для доступа к вашему серверу. (для запуска файла PHP) Вы можете разрешить URL-адрес вашего сервера в переменных среды внешнего интерфейса.

Проверьте наличие Content-Security-Policy и connect-src во внешнем интерфейсе и добавьте туда URL своего сервера. После этого вы сможете отправить Ajax на свой сервер.

Надеюсь это поможет.

person Arosha    schedule 24.05.2019
comment
Спасибо. Я решил это вчера, но забыл, что задал этот вопрос: p - person Mister R.U.B.I; 24.05.2019
comment
Кстати, для всех, кто заинтересован, вам нужно добавить это в первую строку файла php, который вы хотите вызвать: header('Access-Control-Allow-Origin: *'); и загрузить плагин белого списка для Cordova (если вы используете phonegap, просто поместите <plugin name="cordova-plugin-whitelist" spec="~1.2.0" /> в config.xml и запустите сервер, используя phonegap для рабочего стола, он будет загружен автоматически. Затем в HTML-файле, который вы используете ajax, поместите этот метатег: <meta http-equiv="Content-Security-Policy" content="your preferred content policy'">. Вы можете найти доступные параметры здесь: content-security-policy.com - person Mister R.U.B.I; 24.05.2019