Javascript Express.js:Get user';当他们发帖时,他们会引用url
因此,我想为我的网站创建一个评论系统,为了知道评论的页面(例如,用户上传的特定视频),我需要在用户发表评论时获取用户当前所在页面的url(以便我知道如何将其保存在数据库中) 路径如下:Javascript Express.js:Get user';当他们发帖时,他们会引用url,javascript,ajax,node.js,post,express,Javascript,Ajax,Node.js,Post,Express,因此,我想为我的网站创建一个评论系统,为了知道评论的页面(例如,用户上传的特定视频),我需要在用户发表评论时获取用户当前所在页面的url(以便我知道如何将其保存在数据库中) 路径如下:app.get('/video/:videoId',function(req,res){…})因此视频url类似于:/video/98ux8987s987f9xc89v3wjgrkgh32 当用户发布评论时,我需要获取url的最后一部分我不想将url与注释一起发送(在ajax POST函数中),因为他们可以更改它
app.get('/video/:videoId',function(req,res){…})
因此视频url类似于:/video/98ux8987s987f9xc89v3wjgrkgh32
当用户发布评论时,我需要获取url的最后一部分我不想将url与注释一起发送(在ajax POST函数中),因为他们可以更改它
顺便说一句,我不需要url post url(如果我在post函数中有类似req.url
的东西,我只需要获取post url:app.post('/comment',function(req,res){console.log(req.url)}
如果我这样做,我将得到/comment
)
有办法吗
非常感谢。我不确定我是否理解你的意思,但这就是你的意思吗
app.post('/comment/:videoId', function(req, res) {
console.log(req.params.videoId)
}
videoId参数在req.params.videoId中。我不确定是否能找到您,但这就是您的意思吗
app.post('/comment/:videoId', function(req, res) {
console.log(req.params.videoId)
}
videoId参数位于req.params.videoId中。您可以使用url添加哈希,但它不是不可阻止的。您可以在videoKey中添加日期或用户id
var secretkey = "4658{=#mkZl"; // The user doesn't know this string, and he can't make videoKey.
app.get('/video/:videoId', function(req, res){
res.render('video', {
videoId: req.params.videoId,
videoKey: sha256(secretkey + req.params.videoId + secretkey);
});
};
在html表单中:
<form action="/comment">
<input type="hidden" name="videoId" value="{videoId}" />
<input type="hidden" name="videoKey" value="{videoKey}" />
</form>
:
你可以用url添加哈希,但这不是不可阻挡的。在videoKey中,你可以添加日期或用户id
var secretkey = "4658{=#mkZl"; // The user doesn't know this string, and he can't make videoKey.
app.get('/video/:videoId', function(req, res){
res.render('video', {
videoId: req.params.videoId,
videoKey: sha256(secretkey + req.params.videoId + secretkey);
});
};
在html表单中:
<form action="/comment">
<input type="hidden" name="videoId" value="{videoId}" />
<input type="hidden" name="videoKey" value="{videoKey}" />
</form>
:
不完全正确。
app.post('/comment',function(req,res){//用户在评论时就在这个url中:
/video/98ux8987s987f9xc89v3wjgrkgh32`我需要获取//98ux8987s987f9xc89v3wjgrkgh32
部分,而不发送给//客户端,因为他们可能会更改它。我需要直接从服务器端获取它!(如果我的英语不太好,我很抱歉!)),必须传递给客户端。总是可能会弄乱客户端上的数据,因此您也需要服务器端身份验证。您能给我一个服务器端身份验证的示例吗?谢谢!不完全是。app.post('/comment',function(req,res){//当用户发表评论时,他就在这个url中:
/video/98ux8987s987f9xc89v3wjgrkgh32`我需要获取//98ux8987s987f9xc89v3wjgrkgh32
部分,而不将其发送到//客户端,因为他们可能会更改它。我需要直接从服务器端获取它!(如果我的英语不太好,很抱歉!)),必须传递给客户端。总是可能会弄乱客户端上的数据,因此您也需要服务器端身份验证。您能给我一个服务器端身份验证的示例吗?谢谢!我用哈希令牌写了一个新的答案。只有服务器才能生成令牌(videoKey)用户需要它来发送评论。我用哈希令牌写了一个新的答案。只有服务器才能生成令牌(videoKey)用户需要它来发送评论。到目前为止,您的代码在我的程序中运行良好,但videoKey对于每个videoId都是相同的,因此在同一页面的每次刷新中,它都保持不变。是否有一个函数使它变少…静态?这样,它在同一页面的每次刷新中都会发生变化!@Jim Add user sessionid或cookie sessionid。但是如果您愿意的话为了防止垃圾邮件,令牌不是防止垃圾邮件的解决方案,您需要验证码。阅读:到目前为止,您的代码在我的程序中运行良好,但每个videoId的videoKey总是相同的,因此在同一页面的每次刷新中,它都保持不变。是否有一个函数使其减少…静态?这样,它在同一页面的每次刷新中都会发生变化page!@Jim Add user sessionid或cookie sessionid。但是,如果您想防止垃圾邮件,令牌不是防止垃圾邮件的解决方案,您需要验证码。请阅读: