我需要在网址中使用简短的GUID代替ID。
因此,简短的Guid必须为8个字符,并且只能包含数字和小写字母符号。
我想在网址中添加一些“安全性”。
我知道它不会免受黑客的攻击,但我不想使用ID,因为用户可以查看每个ID的信息。
指南简短,将很难为特定实体选择标识符。
例如,我将共享指向包含一些用户私人数据的文档的链接。而且我不希望它是“ example.com/document/id”
该怎么做?
答案 0 :(得分:0)
ask about your actual problem, not about the solution you've decided to use确实很重要。
我只想替换URL中的ID,以使最终用户无法为任何项目选择标识符。
将魔术代码放入您的URL中将永远不会阻止最终用户选择它们,无论魔术代码有多长时间,因为URL是公共的,而不是私有的。 URL会存储在您的浏览器缓存,书签,URL缩短器中,并复制到电子邮件中,并被其他人使用。认为URL是私有的称为Insecure direct object reference,并且是十大Web利用之一。
通过authenticating every request阻止最终用户访问他们不应该访问的数据的方法。在每个请求中都包含唯一的现时,cookie或表单令牌,并在每个答复中对其进行检查。如何执行此操作取决于您所使用的技术(您尚未告诉我们),但是大多数Web技术都包含执行此操作的方法。例如,ASP.NET MVC提供了一个AntiForgeryToken,它将创建唯一的令牌并检测它们是否被伪造或记录。