0

我有以下情况,似乎在网上找不到任何东西,或者我正在寻找错误的东西:

我正在开发一个基于网络的数据存储系统。有不同的用户和不同的地方,只有某些用户被允许访问系统的某些部分。现在,我们不希望他们在家中或使用不同于他们在工作场所使用的计算机连接到这些部件(原因不同)。

现在我的问题是:如果有办法让工作场所电脑通过浏览器以某种方式向服务器标识自己,我该怎么做?哦,是的,它应该是基于网络的。

我希望我解释了它,以便每个人都理解。感谢您提前回复。

... dg

4

5 回答 5

1

由于您要基于网络,因此您可以:

检查远程主机的 IP 地址(将其与已知的内部子网等进行比较)

在认证过程中,你可以ping远程IP,看看返回的数据包的TTL,如果太低,则计算机不能来自本地网络。(当然这可以被打破,但这只是一件事)

如果您是通过 IIS 进行的,那么您可以集成到 SSO 中(如果可以的话,可能是最好的)

于 2009-05-20T14:17:26.080 回答
1

如果它应该是基于 Web 的(我的意思是 Web 服务器应该能够唯一地识别用户的机器),那么您的选择是有限的:就其本身而言,您无法从浏览器的标头或请求正文中获得任何信息这使您可以识别机器。由于明显的隐私影响,我想这是设计使然。

虽然有一些选择,但没有一个是无痛的:您可以使用 ActiveX 控件,但它只能在 Windows 上运行(而不是在我认为的所有浏览器上)并且需要提升的权限。你可以想到一个 Firefox 插件(显然只有 Firefox)。无论如何,一个普通的浏览器会逃避识别。

于 2009-05-20T14:18:59.443 回答
1

对此只有少数真正的解决方案。这里有一对:

  1. 使用域身份验证,并禁止通过 VPN 连接的用户。
  2. 使用已知的 IP 范围来允许或禁止访问。
于 2009-05-20T14:20:39.490 回答
1

我同意 Lenni 的观点……如果 IP 地址是静态的,或者 DHCP 服务器始终将相同的 IP 地址分配给同一台机器,那么 IP 地址是一种可能的解决方案。

或者,您也可以考虑通过“个人证书”进行身份验证......这就是他们在 Firefox 中所指的,不知道这是不是标准名称。(显然我以前没有使用过这些。)

基本上,它们是安装在客户端(用户)机器上的 SSL 或 PKI 证书,用于将该机器识别为它所说的机器——也就是说,如果用户尝试从没有证书的机器连接或者没有您允许的证书,您会拒绝他们。

我不知道这方面的问题......对于同一用户来说,从一台计算机上取下证书并使用正确密码将其安装在另一台计算机上(即它验证用户)可能相对容易,或者它可能是以某种方式专门键入该机器(即它验证机器)。快速的谷歌搜索并没有找到任何明显的“如何”说明它是如何工作的,但它可能值得研究。

---劳伦斯

于 2009-05-20T14:37:23.463 回答
-2

IP地址。不是防弹安全,而是一个开始。

于 2009-05-20T14:10:02.130 回答