标签: django django-models
我希望无法在django托管网站上找到确切的用户数(称为German Tank Problem)。默认情况下,django会分配连续的用户ID,因此目前任何人都可以创建一个帐户,然后通过html / ajax请求查看自己的用户ID,这是用户注册时的用户数。
有问题的网站的代码库足够大,用户ID经常在ajax调用中使用,逐案解决方案是禁止的(解决方案是:找到每个地方使用用户ID并使用一些哈希代替)。是否有更清洁/更快的方法来实现这一目标?
答案 0 :(得分:0)
如果您只想混淆总注册数,可以通过将用户ID值捏造为大数来对其进行模糊处理。这不会阻止某人通过间隔创建多个帐户来插入您的注册费率,从而了解您的实际数字,但您的问题是阻止查看用户总数
答案 1 :(得分:-1)
使用 slug 代替调用的行ID。
如果您使用django通用的基于类的视图(UpdateView,DetailView等等),替换应该很容易,因为它们会考虑'pk'或'slug'url参数来检索对象。 / p>
这是人类可读和SEO友好。
Slugify方法有助于创建它们。