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

In Squarespace Developer Mode, can one save the AWS CLI SDK to the website's server-side "Home" directory? If so, how?

现状

My Squarespace website uses client-side, custom JavaScript and JQuery injected into the Head section of a page 以及 Amazon Web Services 命令行界面 SDK。每次加载页面时,自定义 JS、JQuery 和 JS 库以及 SDK 都会加载到页面 Head 中。

令人反感

SDK 使用两个预先确定的静态握手凭证连接到 AWS 服务器。它们存储在隐藏目录 .aws 中的文件“credentials”中,该文件由 SDK 在首次加载时创建。然而,此时它们没有任何价值。

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

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

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

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

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

问题

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

问题

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

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

You can't add server-side code. Server-side code is handled by a server, not by a browser, and includes:

- PHP
- Ruby
- Ruby on Rails
- SQL

这也包括服务器端 JavaScript/Node。因为Squarespace只支持前端在Code Injection, Code Blocks, and Developer Mode内添加HTML、CSS、Javascript,需要使用前端JavaScript才能使用第三方 API(这是您目前正在做的)。

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

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