Security 在URL中使用ID(来自mongo的ObjectID)安全吗?
最近有人告诉我,在URL中使用mongodb_id字段是不安全的。我想知道这是不是真的 我的网站仅限于注册用户,每个用户都有自己的URL端点,其中包含来自mongo的id。这是典型的mongodb_id字段-a SHA1。好吧,这个id是不可用的,即使有人点击了其他人的id,我的应用程序中基于会话的身份验证也不允许访问。除了应用程序本身,没有人可以直接访问数据库 我很想知道我是否遗漏了什么Security 在URL中使用ID(来自mongo的ObjectID)安全吗?,security,url,mongodb,Security,Url,Mongodb,最近有人告诉我,在URL中使用mongodb_id字段是不安全的。我想知道这是不是真的 我的网站仅限于注册用户,每个用户都有自己的URL端点,其中包含来自mongo的id。这是典型的mongodb_id字段-a SHA1。好吧,这个id是不可用的,即使有人点击了其他人的id,我的应用程序中基于会话的身份验证也不允许访问。除了应用程序本身,没有人可以直接访问数据库 我很想知道我是否遗漏了什么 编辑:澄清问题。(mongodb对象不是SHA1)\u mongodb中的id字段(默认情况下)为类型。它
编辑:澄清问题。(mongodb对象不是SHA1)
\u mongodb中的id
字段(默认情况下)为类型。它不是一个SHA1
它的字符串表示法(比如4ed7cbfd1d96406ca0000015
肯定是URL安全的。我在任何地方都使用它
我的意思是,可以安全地将它暴露在任何放置常规int标识符的地方(/products/3
或/users/42
或其他)
在你的网站上,你应该检查用户是否登录,以及他是否有权访问给定的URL。你不应该盲目地允许用户访问带有objectID的URL,仅仅因为它们(id)不容易猜测(尽管它们比SHA1容易)使用看似随机的字符串作为id(或创建guid)是个不错的主意在URL而不是数字中。如果你有公共API,user/1001,user/20032,它只是乞求黑客猜测下一个数字并获取随机用户信息。这就是我的想法。另外,稍微修正了我的问题,使我在sha1/objectid差异方面看起来稍微不那么愚蠢。非常感谢。相关: