【问题标题】:How to limit access to web app to a specific location/computer?如何限制对特定位置/计算机的网络应用程序的访问?
【发布时间】:2013-03-11 19:57:21
【问题描述】:

我正在开发一个网络应用程序,餐厅将使用该应用程序让收银员访问有关客户、预订等的数据。

不过,我的一个测试客户说,他希望收银员只有在他们在餐厅的计算机上时才能访问网络应用程序。换句话说,他不希望他的员工能够登录网络应用程序并从他们的家中或从其他位置/计算机访问客户信息。

我的第一个想法是在网页端查看客户端的IP地址,只允许特定IP(即餐厅连接的IP)访问。

问题是大多数餐厅的互联网连接都使用 DHCP,因此他们的 IP 不断变化。我只能检查 IP 的前 2 个字节(例如,106.280),但这不会 100% 安全,而且在某些 ISP 上,甚至第二个字节也会不时更改。

关于如何解决此问题的任何其他想法?

提前致谢。

【问题讨论】:

  • 您确定大多数餐厅都使用动态 IP 地址吗?我觉得这很难相信,但又对这个行业不太了解。 Cookies 始终是一种方法,但显然它们可以被主要位置内的某个人删除。
  • @JM4,我位于巴西,这里的大多数餐馆都只是获得最便宜的 ADSL 连接,而且通常使用 DHCP。
  • @JM4,cookie 可能确实有效。我会考虑一下,谢谢。
  • 哈哈@EugeneMayevski'EldoSCorp - 我要说 - 我很确定我以前见过或可能问过这个问题。

标签: security web ip


【解决方案1】:

最好的方法是使用客户端证书身份验证。

http://www.impetus.us/~rjmooney/projects/misc/clientcertauth.html

【讨论】:

  • 这是一个很好的解决方案,尽管用户可以导出证书并将其安装在自己的机器上。不过,一般的收银员不会知道如何做到这一点。
  • 几件事。 1)收银员是否已经可以访问,那么他们为什么需要在自己的机器上安装证书? 2)我假设收银员无法以任何允许他们导出机器的管理方式访问机器 3)您还可以在应用程序中添加额外的安全层,例如动态地址所以他们需要证书和 IP。
  • @AndrewR 您可以将证书设置为不可导出(即私钥不能从计算机导出)和/或将它们存储在 USB 加密令牌(不是 USB 闪存,而是加密令牌)上无法提取私钥。
【解决方案2】:

就像@Eric 所说,它可能会正常工作。另外,您可以自行颁发证书,无需购买。唯一的区别是您第一次在浏览器中使用它时会收到“证书颁发机构”警告。

但自行颁发的证书可能是一个简单的解决方法。

【讨论】:

    猜你喜欢
    • 2021-05-16
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多