gpt4 book ai didi

node.js - 使用 Redis 和 Nodejs 创建 Restful API

转载 作者:可可西里 更新时间:2023-11-01 11:24:35 25 4
gpt4 key购买 nike

我正在尝试创建服务器来处理 REST API 和 redis 排序集。而且 post score API 运行不正常,我不知道为什么。谁能帮帮我?

var express = require('express');
var bodyParser = require('body-parser');
var redis = require('redis');
var app = express();
var JSON = require('JSON');
var client = redis.createClient(6379,'127.0.0.1');
app.use(bodyParser.urlencoded({ extended: false}))

app.listen(3000, function(){
console.log('connected 3000 port!');
});

app.post('/score', (req, res)=>{
var id=req.headers.id;
var score=req.headers.score;

client.zadd('score', id, score, function(err, reply){
if(err){
res.send(false);
}else{
res.send(true);
}
});
})

这是我用的curl。

curl -i -X POST \
-H "id:hi" \
-H "score:9223372036854775807" \
-d \
'' \
'http://localhost:3000/score'

最佳答案

关于 ZADD :

我相信它会类似于以下片段:( node_redis documentation )

var args = [ 'score', score, id ] 
client.zadd(args,(error,response)=>{
if (err) throw err
console.log('added '+response+' items.')
})

更多信息:ZADD - Redis Documentation


关于游戏安全:

我仍然建议在服务器端添加一些保护,以防止对您的分数进行不必要的篡改...

据我所知,许多单人游戏体验只是简单地提供了一种记分板方式,但你必须知道,如果分数没有伴随某种保护机制,你不能保证它没有被篡改...因此您可以接受作弊者修改他们的分数和其他人的分数...

同样重要的是要注意,除非它是一个授权服务器,其中所有内容都在服务器端计算,并且客户端仅充当渲染器和操作请求器(供服务器评估),否则您将以某种方式开放作弊,因为您真的永远不能相信客户

关于node.js - 使用 Redis 和 Nodejs 创建 Restful API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50542316/

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