【问题标题】:Is it possible to send query to online database from an electron application?是否可以从电子应用程序向在线数据库发送查询?
【发布时间】:2016-07-25 04:22:30
【问题描述】:

我一直在寻找解决方案,以便创建跨平台流畅的体验。因此,要为在线网站版本执行此操作,我只需将 Ajax 请求发送到 PHP 脚本以查询 MySQL 数据库。但我正在考虑创建一个供离线使用的电子应用程序,因此我需要向该在线数据库发送查询,但我知道 Ajax 在跨站点请求方面存在很多限制。

那么,是否可以从电子应用程序将这些类型的 ajax 请求发送到 Web 服务器上的 PHP 脚本。但是,如果 Ajax 请求是不可能的,我将如何实现对在线数据库的这种类型的请求。我已尝试对此主题进行一些研究,但无法找到与这种情况类似的任何解决方案。

【问题讨论】:

    标签: mysql ajax database desktop-application electron


    【解决方案1】:

    默认情况下会阻止跨域 AJAX 请求。您的所有常规桌面应用程序(例如您的邮件客户端)一直在发送请求。您只需在服务器上启用跨域资源共享 (CORS)。我不知道您使用的是什么服务器应用程序(Apache/Nginx),但对于 Apache,您只需将以下行添加到虚拟主机或 .htaccess 文件的相关部分即可开始:

    Header set Access-Control-Allow-Origin "*"

    您可以参考Enable CORS 了解如何为其他服务器技术启用 CORS。

    【讨论】:

    • 甜蜜,是的,我的服务器运行 Apache,所以这是一个简单的添加,但允许所有请求是否存在任何安全问题?另外,没有 htaccess 文件的目录是否使用其父目录/的规则?
    • 没有安全问题,CORS 几乎就是从浏览器到其他服务的 API 调用的工作方式。想想 Google 的 Firebase。唯一的安全问题将出现在您的应用程序的末尾,因此您必须像在您的任何应用程序中那样实施适当的访问控制,无论它是否具有 CORS。重新提出您关于 .htaccess 的问题,这里有一个很好的讨论 stackoverflow.com/questions/7443902/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2018-11-03
    相关资源
    最近更新 更多