微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Squarespace 开发者模式下,可以将 AWS CLI SDK 保存到网站的服务器端“Home”目录吗?如果是这样,如何?

如何解决在 Squarespace 开发者模式下,可以将 AWS CLI SDK 保存到网站的服务器端“Home”目录吗?如果是这样,如何?

现状

My Squarespace website 使用客户端、自定义 JavaScript 和注入 page 的 Head 部分的 JQuery 以及 Amazon Web Services 命令行界面 SDK。每次加载页面时,自定义 JS、JQuery 和 JS 库以及 SDK 都会加载到页面 Head 中。

这是令人反感的

开发工具包使用两个预先确定的静态握手凭证连接到 AWS 服务器。它们存储在由 SDK 在首次加载时创建的隐藏目录 .aws 中的文件“凭据”中。然而,在这一点上,它们没有价值。

这种情况将据称是秘密的 AWS 登录凭据暴露给潜在的黑客

目前,需要通过在自定义 JS 中执行 CLI“updateConfig”命令在页面加载时以编程方式设置它们的值。因此,凭据值位于客户端的纯文本配置文件中。

因此,它们并不是那么秘密。任何在浏览器中加载页面站点访问者都可以使用浏览器的开发人员工具查看源代码,并有可能发现所谓的秘密凭证,从而危及 AWS 账户的安全。

不应将秘密凭据放在客户端 JS 中

出于这个原因,AWS 相当强硬地坚持不要将凭证放在客户端源代码中。首选方法是在服务器端实例化 SDK 并仅设置一次凭据。此后,隐藏的 .aws 目录和凭据文件将在服务器端保留在网站主目录的根级别。

问题

所以问题是将 SDK 加载到服务器端主目录中,它会在站点的整个生命周期中持续存在。

问题

问题是在 Squarespace 网站上,可以在站点主目录的根级别加载 SDK 服务器端。可以在开发者模式下完成吗?怎么样?

解决方法

不幸的是,Squarespace doesn't support the use of server-side/back-end code

您无法添加服务器端代码。服务器端代码由服务器处理,而不是由浏览器处理,包括:

- PHP
- 红宝石
- Ruby on Rails
- SQL

这也将包括服务器端 JavaScript/Node。由于 Squarespace 仅支持在 Code InjectionCode BlocksDeveloper Mode 中前端添加 HTML、CSS 和 Javascript,因此您需要使用前端 JavaScript 才能利用第三方API(这是您目前正在做的事情)。

启用开发者模式只会公开网站的模板文件。除了 JSON-T 模板引擎之外,开发人员模式不支持任何类型的服务器端逻辑或请求发生。因此,您的问题的答案似乎是否定的。

一个潜在的替代解决方案可能是改用 Google Apps Script 或 Google Cloud Functions,将凭据存储在代码中,并向该端点发出前端请求(通过您网站上的 JavaScript)以执行握手并取回您需要的数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。