我正在开发一个社交网络,我想知道如果在用户的个人资料页面中,我可以将存储在数据库中的用户ID作为参数放在网址中,还是在安全方面是个坏主意? / p>
我希望网址可以收藏。我应该放另一个而不是用户ID?
答案 0 :(得分:8)
在安全性方面,将用户ID放入网址没有问题。例如,StackOverflow已经执行了此操作:https://stackoverflow.com/users/3477044/aliuk
重要的是验证当前经过身份验证的用户是否可以访问此网址并代表其采取措施。
答案 1 :(得分:0)
我一直在使用的大多数社交网络,使用username作为url而不是id,当然它也会影响seo,因为你有“漂亮的url”。
安全性实际上取决于你编写代码的方式,比如有一个编辑配置文件的页面,如果你把你的代码放在: UPDATE .. SET .. WHERE id = $ _GET ['id']
毫无疑问,这是危险的,您应该检查每个用户操作,如发布/编辑个人资料等,谁登录,而不是当前网址上的ID
答案 2 :(得分:0)
如果您确保您的网站免受SQL注入攻击,那么它是安全的。 但如果发生违规行为,所有用户都可以参与其中。只有黑客需要做的就是找到用户个人资料获取他的身份。复制sql注入的输出。转到文本编辑器。按ctrl - f并搜索用户ID。