最佳做法是什么?
我有一个网站,其中有一个用户个人资料页面,您可以通过domain.com/user/1访问它。每个数字都显示我的数据库中的User_ID。我很好奇这是一个坏主意吗?我不是在进行SQL注入,但也许可以使用这些信息来对付我。我正在使用Laravel,它有一些基本的防止注射。
你怎么看?我应该使用随机数作为用户档案,还是根本不重要?答案 0 :(得分:2)
如果依赖!
如果只有id可以访问所有敏感信息,那么这就是一个问题。
但是,如果没有任何敏感信息 - 即使在创建帐户的id 1 之前取代帐户的ID也没有 - 那么就没有问题。
考虑例如https://stackoverflow.com/users/7009480/philipp-mochine,其中包含您在Stackoverflow上的用户ID。
1 多阶段注册将是一个问题:攻击者跳到最后一页并设置身份验证详细信息,而真人仍在填写他们的个人资料(修复:创建帐户然后用户可以填写所有内容。
答案 1 :(得分:2)
注意:在上下文中写入laravel
是的,这完全取决于你想要用它的目的。
让我们说,例如在简单的产品列表中看起来像的网址
http://www.demosite.com/seller/1234/products/1234
会披露相关的vendor id
和product id
。所以,即使有人试图做像
http://www.demosite.com/seller/1235/products/1232
如果供应商或产品退出并且完全正常,则会失败。
此外,由于您正在使用laravel,所选路由可能只对用户进行身份验证,因此,实现了第一级安全性,您只担心内部用户,如果您仍然担心 使用哈希或加密(同样,它完全取决于数据的敏感性。)
你可以在这里看看... Laravel Hashing或Encryption
如果您有任何疑问,请回复..