从GUID c#

时间:2019-05-06 15:25:40

标签: c# guid

我需要在网址中使用简短的GUID代替ID。

因此,简短的Guid必须为8个字符,并且只能包含数字和小写字母符号。

我想在网址中添加一些“安全性”。

我知道它不会免受黑客的攻击,但我不想使用ID,因为用户可以查看每个ID的信息。

指南简短,将很难为特定实体选择标识符。

例如,我将共享指向包含一些用户私人数据的文档的链接。而且我不希望它是“ example.com/document/id”

该怎么做?

1 个答案:

答案 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,它将创建唯一的令牌并检测它们是否被伪造或记录。