【问题标题】:How should I secure a private rails application from outside users?我应该如何保护外部用户的私有 Rails 应用程序?
【发布时间】:2014-03-30 23:06:10
【问题描述】:

我需要构建一个只为我工作场所的人服务的应用程序。目前,每个人都有一个特定的公司电子邮件,它具有独特的域和格式。

我创建了一个仅验证我们公司电子邮件地址的正则表达式,并将应用程序配置为需要电子邮件确认。这似乎就足够了,除非是恶意的人:

  1. 发现我的表达方式有缺陷。
  2. 找到绕过确认的方法。
  3. 不知何故获得了公司电子邮件地址。

我觉得这还不够安全。也许我需要更进一步,使用某种预先批准的电子邮件列表或其他东西?

我很好奇是否有其他人遇到过这个问题。 (很有可能。)

【问题讨论】:

  • 你们有像LDAP这样的公司认证服务吗?否则,我什至会要求管理员手动激活帐户。
  • 什么是每个批准的电子邮件列表?您知道有很多应用程序使用电子邮件作为其登录 ID,对吧?我不确定你真正关心的是什么。
  • IT 有我们的电子邮件在一个非常旧版本的交换服务器上。看起来我可以查询它,或者将它的电子邮件列表导出到 CSV。
  • 贵公司是否共享网络?如果是这样,您不能只限制对 IP 地址的访问
  • 对不起,我的意思是预先批准。我在想我可以有一个已知公司电子邮件的数据库,我可以在登录期间进行比较。我正在努力避免使用虚假帐户/电子邮件。我真的只是担心我们的电子邮件域可能会以某种方式“伪造”。

标签: ruby-on-rails regex security email


【解决方案1】:

好的,这是我的解决方案:

这将启用第二级安全性:

在 User 模型上,创建一个名为 user_activeboolean 字段。

然后,创建一个仅允许您的管理员选中/取消选中帐户的管理员页面。

然后,您可以在登录用户之前致电User.user_active?

这使得设法绕过您的安全系统的人更难访问您的应用程序。

这对大量用户来说会很痛苦,但如果你只有 200 个左右,这会奏效。

【讨论】:

  • 此时您最好拥有一个创建用户的管理区域吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
  • 2017-11-29
  • 2014-02-08
  • 1970-01-01
  • 2013-12-26
  • 1970-01-01
相关资源
最近更新 更多