Search code examples
databasecross-domain-policymulti-device-hybrid-apps

How to access a database from a hybrid app without crossing domains?


I am developing an app with PhoneGap (Cordova) + Framework7 and I need to connect to a database. The issue is that it's an hybrid app, which means the www files are local and the app creates an internal server, and so if you try to use AJAX to run a php file it crosses domains, since it'll try to reach for my webserver while it's running it's own server. What can I do?

(I know Cordova has a utility named WebSQL that connects to SQLite, but my database is MySQL, and I think it can only connect to a local db)

(You can't move php to be local because Cordova can't run php files, also it's probably not very secure)


Solution

  • My suggestion is to use Ajax to access your server. (to run the PHP file) You can allow your server URL in environment variables of frontend.

    Check for Content-Security-Policy and connect-src in frontend and add your server URL there. Then you will be able to send Ajax to your server.

    Hope this helps.