我希望能够设置一个cookie,并在每次向nodejs服务器实例发出请求时读取该cookie.可以用几行代码完成,而不需要引入第三方库吗?
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8124);
console.log('Server running at http://127.0.0.1:8124/');
Run Code Online (Sandbox Code Playgroud)
只是尝试直接从nodejs.org获取上述代码,并在其中处理cookie.
为服务器端路由验证用户的最佳方法(最安全和最简单)是什么?
我正在使用最新的Iron Router 1.*和Meteor 1.*并开始,我只是使用帐户密码.
我有一个简单的服务器端路由,将pdf呈现给屏幕:
两者/ routes.js
Router.route('/pdf-server', function() {
var filePath = process.env.PWD + "/server/.files/users/test.pdf";
console.log(filePath);
var fs = Npm.require('fs');
var data = fs.readFileSync(filePath);
this.response.write(data);
this.response.end();
}, {where: 'server'});
Run Code Online (Sandbox Code Playgroud)
举个例子,我想做一些接近SO答案建议的事情:
在服务器上:
var Secrets = new Meteor.Collection("secrets");
Meteor.methods({
getSecretKey: function () {
if (!this.userId)
// check if the user has privileges
throw Meteor.Error(403);
return Secrets.insert({_id: Random.id(), user: this.userId});
},
});
Run Code Online (Sandbox Code Playgroud)
然后在客户端代码中:
testController.events({
'click button[name=get-pdf]': function () {
Meteor.call("getSecretKey", function (error, response) {
if (error) throw …Run Code Online (Sandbox Code Playgroud)