Meteor 发布其他用户是否存在固有风险';身份证?

Meteor 发布其他用户是否存在固有风险';身份证?,meteor,Meteor,我有一个名为凭单的收藏。如果用户知道凭证的唯一编号ID,则可以“声明”该凭证,这将为其提供一个user\u ID属性,并将其与他们绑定 我现在需要对照现有数据库检查用户的ID查询,但我想知道是否可以在客户端而不是服务器上进行检查(客户端会更方便,因为我使用实用程序函数将查询表单与数据库操作联系起来……说来话长)。如果我在客户端上这样做,我将不得不使用正确的user\u id字段发布整个凭单集合,尽管我不会通过任何模板显示这些id,但它们可以通过控制台使用 这样发布所有ID是否存在固有风险?即使我

我有一个名为
凭单
的收藏。如果用户知道凭证的唯一编号ID,则可以“声明”该凭证,这将为其提供一个
user\u ID
属性,并将其与他们绑定

我现在需要对照现有数据库检查用户的ID查询,但我想知道是否可以在客户端而不是服务器上进行检查(客户端会更方便,因为我使用实用程序函数将查询表单与数据库操作联系起来……说来话长)。如果我在客户端上这样做,我将不得不使用正确的
user\u id
字段发布整个凭单集合,尽管我不会通过任何模板显示这些id,但它们可以通过控制台使用


这样发布所有ID是否存在固有风险?即使我没有为它们留下任何特定的漏洞,它们也会被恶意使用吗?

首先,一般来说,将所有
用户ID发布到客户端听起来是个坏主意。如果你有100万用户,会发生什么?这将是大量的数据


第二,具体来说,我们不知道发布您的
用户id
是否存在固有风险,因为我们不知道在您的系统中可以使用它做什么。如果您使用由用户自己选择的
用户id
的典型设计(例如电子邮件),那么您必须将系统设计为安全的,即使攻击者猜到了
用户id
短版本:这不是个好主意

我有一个类似的设置:用户可以注册,如果她知道凭证代码。您只能发布那些用户id与登录用户相同的凭证。必须在服务器上处理所有其他检查,如“用户输入是否对应于有效凭证?”


请记住:客户端代码不可信。

好吧,我只会发布已附加到凭证的
用户id
s,因此它只会显示已注册的用户id,而不是整个用户数据库。这在维度上没有区别。即使是1000张代金券,它也将开始变得低效。