gpt4 book ai didi

environment-variables - 使用 Rollup Replace 将环境变量传递到 sapper 的客户端安全吗?

转载 作者:行者123 更新时间:2023-12-04 01:32:45 38 4
gpt4 key购买 nike

我在 sapper 和 sapper-environment 的汇总配置中使用替换在 sapper 中将环境变量传递给客户端 - 这安全吗?有没有更好/更安全的方法来解决这个问题?

使用下面的配置:

    rollup.config.js

const sapperEnv = require('sapper-environment');

export default {
client: {
input: config.client.input(),
output: config.client.output(),
plugins: [
replace({
...sapperEnv(),
'process.browser': true,
'process.env.NODE_ENV': JSON.stringify(mode)
})
...

然后这允许我使用 stores.js 中的变量:

import { writable } from 'svelte/store';
import Client from 'shopify-buy';

const key = process.env.SAPPER_APP_SHOPIFY_KEY;
const domain = process.env.SAPPER_APP_SHOPIFY_DOMAIN;

// Initialize a client
const client = Client.buildClient({
domain: domain,
storefrontAccessToken: key
});

export { key, domain, client };

我已经尝试在服务器、js 中运行它并通过 session 数据传递变量,但无论我做什么,客户端似乎总是返回“未定义”。

最佳答案

这里有两个问题 — a) 它安全吗,b) 为什么值 undefined

第一个问题的答案是“否”。任何时候在提供给客户端的 JavaScript 中包含凭据(或在 session 数据中),您就让知道如何查找它们的任何人都可以使用这些凭据。如果您需要避免这种情况,您将需要您的服务器(或其他服务器)代表经过身份验证的客户端发出请求。

至于第二部分,不幸的是,如果没有复制品,很难分辨!

关于environment-variables - 使用 Rollup Replace 将环境变量传递到 sapper 的客户端安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60572188/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com