已登录的用户:要发送到浏览器的哪些信息?

k88074

背景:我仍在学习使用MEAN堆栈构建Web应用程序。

问题:我发现以下令人困惑。假设我有一个用户登录(我正在使用Passport.js)。从Angular中,我可以查询Node.js服务器来检索它。我现在正在做的事情类似于:

app.get('/userLogged',function(req,res){
     res.json({req.user});
});

这对我来说听起来并不安全。我可能是新手,但我在许多教程中都看到了这一点。使用console.log浏览器中的,我可以打印有关用户的所有信息,包括哈希密码。我的猜测是,我应该向浏览器发送最少的信息集,以过滤掉其余信息。

我的问题:这是否完全安全,还是我只是向黑客敞开大门?

哈里姆·卡鲁姆(Halim Qarroum)

看看的概念ViewModel它代表您要与系统的外部用户公开共享的数据。

根据您的情况,可以在内部存储的数据模型中实现正确的视图模型。一个简单的例子说明了这个概念,那就是为您的user对象创建一个视图模型,模型选择您想发回的数据:

// This function will return a different version
// of the `user` object having only a `name`
// and an `email` attribute.
var makeViewModel = function (user) {
  return _.pick(user, ['name', 'email']);
}

然后,您将能够按需构建正确的视图模型:

app.get('/user',function (req,res){
     res.json(makeViewModel(req.user));
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打开连接时,将用户ID从浏览器发送到Websocket服务器

来自分类Dev

使用HTML将用户发送到其浏览器的主页

来自分类Dev

使用HTML将用户发送到其浏览器的主页

来自分类Dev

是否可以将javascript代码安全地发送到用户的浏览器?

来自分类Dev

期望将Ctrl + A发送到浏览器

来自分类Dev

在Laravel 5.2.37中将信息从一个浏览器发送到另一个浏览器

来自分类Dev

将信息推送到用户浏览器

来自分类Dev

如何将用户在 textarea 中输入的浏览器代码发送到 javascript 控制台

来自分类Dev

*ngIf 指令可以防止我的管理页面被发送到未经授权用户的浏览器吗?

来自分类Dev

Android登录输入将通过HttpGet JSON发送到服务器并返回用户个人资料信息列表

来自分类Dev

文件从浏览器发送到不是Web服务器的服务器

来自分类Dev

确定软件供应商读取哪些信息并将其发送到服务器

来自分类Dev

将数据从浏览器发送到服务器并返回

来自分类Dev

snappy wkhtmltopdf包装器将生成的html文件发送到浏览器

来自分类Dev

将流从浏览器发送到Node JS服务器

来自分类Dev

Java服务器将HTML页面从文件发送到浏览器

来自分类Dev

如何获取浏览器发送到服务器的数据?

来自分类Dev

将数据本地存储在浏览器中并发送到服务器

来自分类Dev

C#简单HTTP服务器未将响应发送到浏览器

来自分类Dev

Ckeditor 4文件浏览器并发送到服务器按钮

来自分类Dev

如何:浏览器将JSON发送到服务器?

来自分类Dev

ioSocket 不会在服务器负载过重时发送到浏览器

来自分类Dev

通过FCM仅将通知发送到已登录用户的设备

来自分类Dev

响应发送到浏览器后,为什么laravel存储会话?

来自分类Dev

HTML5视频,视频数据如何发送到浏览器?

来自分类Dev

如何将PDF输出发送到浏览器打印选项(CTRL + P)

来自分类Dev

可以将漂亮的汤输出发送到浏览器吗?

来自分类Dev

将文件直接从浏览器发送到S3,但更改文件名

来自分类常见问题

ASP.NET_SessionId + OWIN Cookies不会发送到浏览器

Related 相关文章

  1. 1

    打开连接时,将用户ID从浏览器发送到Websocket服务器

  2. 2

    使用HTML将用户发送到其浏览器的主页

  3. 3

    使用HTML将用户发送到其浏览器的主页

  4. 4

    是否可以将javascript代码安全地发送到用户的浏览器?

  5. 5

    期望将Ctrl + A发送到浏览器

  6. 6

    在Laravel 5.2.37中将信息从一个浏览器发送到另一个浏览器

  7. 7

    将信息推送到用户浏览器

  8. 8

    如何将用户在 textarea 中输入的浏览器代码发送到 javascript 控制台

  9. 9

    *ngIf 指令可以防止我的管理页面被发送到未经授权用户的浏览器吗?

  10. 10

    Android登录输入将通过HttpGet JSON发送到服务器并返回用户个人资料信息列表

  11. 11

    文件从浏览器发送到不是Web服务器的服务器

  12. 12

    确定软件供应商读取哪些信息并将其发送到服务器

  13. 13

    将数据从浏览器发送到服务器并返回

  14. 14

    snappy wkhtmltopdf包装器将生成的html文件发送到浏览器

  15. 15

    将流从浏览器发送到Node JS服务器

  16. 16

    Java服务器将HTML页面从文件发送到浏览器

  17. 17

    如何获取浏览器发送到服务器的数据?

  18. 18

    将数据本地存储在浏览器中并发送到服务器

  19. 19

    C#简单HTTP服务器未将响应发送到浏览器

  20. 20

    Ckeditor 4文件浏览器并发送到服务器按钮

  21. 21

    如何:浏览器将JSON发送到服务器?

  22. 22

    ioSocket 不会在服务器负载过重时发送到浏览器

  23. 23

    通过FCM仅将通知发送到已登录用户的设备

  24. 24

    响应发送到浏览器后,为什么laravel存储会话?

  25. 25

    HTML5视频,视频数据如何发送到浏览器?

  26. 26

    如何将PDF输出发送到浏览器打印选项(CTRL + P)

  27. 27

    可以将漂亮的汤输出发送到浏览器吗?

  28. 28

    将文件直接从浏览器发送到S3,但更改文件名

  29. 29

    ASP.NET_SessionId + OWIN Cookies不会发送到浏览器

热门标签

归档