当前位置:  开发笔记 > 编程语言 > 正文

使用Mongodb ObjectID作为文档ID?

如何解决《使用MongodbObjectID作为文档ID?》经验,为你挑选了1个好方法。

我正在尝试用mongoDB制作一块电路板.

我想用ObjectID分配文档ID.

如果用户可以通过http://www.example.com/4easdf123123访问文档页面, 其中"4easdf123123"是mongoDB ObjectID.

是否存在任何可能的安全威胁,如果我在URL中使用并显示mongo ObjectID并将其用作文档ID?

以及使用mongoDB分配文档ID的任何建议?



1> dcrosta..:

这看起来不像MongoDB ObjectID - ObjectID是12字节的二进制数据,当呈现为十六进制字符串(在URL中使用它的常用方式)时,它将是24个字符长.我假设您正在使用官方的PHP Mongo驱动程序,在这种情况下,MongoId类的构造函数将忽略无效值并为您生成一个新值.无论如何,最好让驱动程序MongoId为您生成ObjectID/,因为它会以避免冲突的方式生成.

至于在您的网址中使用它的安全性,您应该没问题.当然,您应该使用有关实现代码的常规预防措施,以确保当前用户有权查看正在显示的对象等,但在URL中使用ObjectID的安全风险不会超过任何其他数据库标识符(字符串)因为ObjectID没有语义值(而URL中的"adminuser"字符串可能会传达该URL与具有提升权限的用户相关),因此通常会有更少的内容.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有