1

atm 我正在构建自己的身份验证系统。但是今天我偶然发现了一个小问题。

如何区分具有相同 ip 的客户端?

我首先想到的是“嘿没问题,只要看看他们的 macip”。但是 HTTP 不包含 mac ip 地址,我无法在客户端上运行 python 程序。

所以我将不得不使用某种javascript。

但这感觉就像一个黑客。

所以我做了一些调查 区分同一 Intranet 上的两台计算机

但是我怎样才能访问“clientport”呢?这是一个好的解决方案吗?

4

2 回答 2

5

在客户第一次访问时给他一个令牌,他必须在每次请求时将其发送回服务器以识别自己。在网络浏览器中,这是一个带有会话 ID 或类似唯一标识符的 cookie。在非 Web 浏览器系统上,您可以执行类似的操作。在协议级别上没有办法做到这一点,因为底层协议(TCP/IP、HTTP)被设计为将数据包路由到它们的目的地,唯一标识不是该过程的一部分。

于 2012-07-11T15:00:22.713 回答
2

根据您的问题,我推断您正在编写基于 HTTP 的身份验证系统,而不仅仅是裸 TCP。在这种情况下,您可以使用 cookie,它提供了您需要的那种跟踪机制,并且是 HTTP 登录机制的首选。

一般来说,使用 HTTP,您不必担心和处理 IP 地址,您在堆栈中的级别更高。

于 2012-07-11T15:04:02.580 回答