使用 express 的客户端身份验证

Client side authentication with express

提问人:Naaaah 提问时间:11/16/2023 更新时间:11/16/2023 访问量:18

问:

我用普通的javascript和html做了一个简单的游戏。我设置了一个代理服务器,因为我使用 openai 的 chatgpt api,所以我不会暴露它。我通过按下按钮来拨打电话,但我不希望人们手动向网站发送任何数量的请求,这样他们就不能花掉我当天允许的所有钱。我只想允许在按下按钮时从我的 javascript 代码发送调用。 此外,我想设置一个 sql 服务器来保存他们的分数,我不希望他们只在游戏结束时输掉比赛时手动保存。 我不希望玩家必须登录只是为了提供一个用户名,通过该用户名可以像街机一样保存他们的分数,但我认为登录并不能解决它。

我查找了会话和 jwt,我认为它可以解决用户无法发送虚假信息的问题,但我看不到它可以解决他们可以发送任意数量的呼叫,因为正如我所看到的,他们可以手动发送任意数量的呼叫使用相同的令牌。 我想过为每个电话都有一个 ID,这样同一个电话就不能打两次了。结合 jwt 代币可以解决这个问题吗?

// Routes
app.use('/api', cookieJwtAuth, require('./routes/openai'))

这就是我调用代理服务器的方式。但是,如果有人只是将此 url 放入他的浏览器中,即使使用 jwt 令牌,它也会再次发送调用。还是我误解了什么?

const url = `/api?desc=${description}`
const res = await fetch(url)
JavaScript 快速 身份验证

评论


答: 暂无答案