确保DreamFactory环境

DreamFactory平台是建立在Laravel框架。Laravel是一个了不起的基于php的框架,在短短几年内成为一个日益流行的当今最流行的框架的解决方案。它的流行有几个原因,包括一个务实的约定优于配置方法,实现安全第一,奇妙的文档和一个综合的生态系统(除了框架本身,Laravel团队维护大量的兄弟姐妹项目,其中电子商务框架称为火花,一个应用程序管理工具包叫做新星,和一个应用程序部署服务称为发送)。无论如何,任何应用程序你会希望你能了解如何最好地去维护和保护环境。

安全

歌珥安全

歌珥(跨源资源共享)是一种机制,允许客户端与一个API端点,来自一个不同的域名,子域名,港口,或协议。DreamFactory配置默认情况下不允许以外的所有请求,所以之前你可以集成第三方客户端,如web或移动应用程序,您需要启用歌珥。

您可以修改你的歌珥在DreamFactory设置配置选项卡。会出现以下界面:

使歌珥等特定的原始网络地址和IP地址或域名,按下++位于屏幕顶部的按钮。这样做将使所有发现的配置字段如下:

  • 路径:路径字段定义了路径与您通过这个歌珥API相关条目。例如,如果您已经创建了一个Twitter API,愿暴露,可能的路径/ api / v2 / twitter。如果你想让所有api,使用*

  • 描述:描述字段作为一个描述性的参考解释这个歌珥条目的目的。

  • 起源:起源字段标识请求的网络地址。如果你想使一个以上的来源(如。www.example.com和www2.example.com),每个由一个逗号分开(www.example.com, ww2.example.com)。如果你想允许从任何地方访问,供应星号*

  • :字段决定了哪些头文件可用于请求。几头默认白名单,包括接受,接收语言,内容语言,内容类型。当设置,DreamFactory将发送在起飞前的请求宣布头使用的列表Access-Control-Allow-Headers头。

  • 暴露的头:暴露的头字段决定了哪些头暴露给客户端。

  • 最大年龄:最大年龄字段决定了多久起飞前的请求(的结果中发现的信息Access-Control-Allow-MethodsAccess-Control-Allow-Headers头)可以被缓存。这个字段的值传递到客户端使用Access-Control-Max-Age字段。

  • 方法:方法字段决定了可以使用HTTP方法结合这个歌珥的定义。选中的值将被传递到客户端使用Access-Control-Allow-Methods字段。

  • 支持凭证:支持凭证字段决定了是否可以使用这个歌珥配置与用户身份验证。当启用时,Access-Control-Allow-Credentials头将被传递和设置真正的

  • 启用:使歌珥配置,确保启用了这个领域。

总是确保你的歌珥只设置为适当的“计划/主机/端口元组”以确保你正在观察的最大安全可以通过只允许交叉起源资源访问时没有其他办法解决。万博手机登录平台为一个伟大的解释歌珥这些文章,请参考:

确保你的网站流量

从网络的角度来看DreamFactory是一个典型的web应用程序,这意味着您可以轻松地加密所有平台和客户端之间的网络流量使用SSL证书。除非你已经采取措施将SSL证书添加到您的web服务器,默认情况下DreamFactory实例将在端口80上运行,这意味着所有DreamFactory服务器和客户机之间的交通将未加密,因此捕获和审查。为了解决这个问题,您需要安装一个SSL证书。我们最喜欢的一个资源创建SSL证书万博手机登录平台让我们加密

下面是资源如何添加您万博手机登录平台的web服务器的SSL证书:

  1. Nginx
  2. Apache YouTube的例子

确保您的凭据

当生成api使用DreamFactory本地连接器,逻辑上需要提供一个组凭证所以DreamFactory可以连接到底层数据源并与之交互。这些凭证存储在系统数据库中,并使用加密aes - 256加密。凭证解密DreamFactory连接到目的地时动态数据源,并从未在明文缓存。

抑制错误

当运行DreamFactory在生产环境中,一定要设置万博max手机网页登录.env文件的APP_ENV价值万博max手机网页登录生产APP_DEBUG。离开它设置为当地的将导致错误相关的详细信息返回给客户端,而不是静静地记录到日志文件中。当在生产环境中设置正确,你的万博max手机网页登录.env文件是这样的:

…APP_DEBUG = false

环境运行这个安装:本地、生产(默认)万博max手机网页登录

APP_ENV 万博max手机网页登录=生产

分离的Web管理界面平台

新DreamFactory用户经常混淆API的web管理界面平台;事实上,web管理界面只是一个客户端像任何其他。碰巧DreamFactory团队建造了这个管理平台的接口明确行政能力。这个接口与平台交互使用的一系列管理api公开的平台,,只能当一个会话都伴随着请求令牌验证管理员。

默认情况下这个接口平台本身运行在同一台服务器上。一些用户更倾向于完全独立,接口在一个网络环境中运行,完全隔离在另一个平台。

接口维护在一个角应用程序驻留在一个公共GitHub库。的自述文件包含指令关于建筑角应用和分离它的平台。更多的去学习GitHub库

最佳实践

对数据库支持的API,创建API使用数据库帐户特权密切对应于您的API特权需求。例如,如果数据库包含一个表员工但是没有意图对这个表可以通过API,然后配置相应的代理用户的特权。

不要使用毯子API密匙的API !相反,创建角色,明确定义的权限通过API,然后将角色与一个新的应用程序和相应的API键。不要害怕创建多个角色,因此多个相应的API密钥如果你想限制API访问每个客户或组的基础上以不同的方式。

你应该需要API文档提供给团队成员,使用DreamFactory以用户为中心的角色分配功能向团队成员提供单独的文档,而不是给予不必要的管理访问权限。

Baidu
map