是否有一种很好的方法可以判断用户是否拥有静态IP?我希望能够识别访问我网站的哪些用户拥有静态IP。
答案 0 :(得分:5)
不,没有。这是仅在该网络上找到的信息。
答案 1 :(得分:2)
正如其他人所提到的,无法保证判断给定的IP地址是静态还是动态分配。
通过利用一些反垃圾邮件组织的努力,您可以获得90%的收益 - 例如, Spamhaus PBL,即“策略阻止列表”,是由负责的ISP识别为不应成为合法电子邮件直接来源的地址的IP地址范围的数据库。我怀疑这个列表的大部分将是拨号或消费者宽带服务的住宅最终用户。这只是一种启发式 - 我敢肯定 PBL中有静态IP块,可能还有很多动态IP地址 不是就可以了,但是如果不知道每一个,它就会接近你 IP范围所有者的分配政策。
答案 2 :(得分:2)
如果用户打开维护模式,系统应该记录用户ip,从那时起只允许ip进入,直到维护模式关闭。
以上是我对网站的需求。 以下是我使用的内容:
<?php
session_start();
if ($_SESSION[last_ip]!==$_SERVER[REMOTE_ADDR])
{
$_SESSION[ips] = (!is_numeric($_SESSION[ips])) ? 1 : $_SESSION[ips] + 1;
$_SESSION[last_ip] = $_SERVER[REMOTE_ADDR];
}
if ($_SESSION[ips]===1) { echo "Static IP"; }
else { echo "Dynamic IP"; }
?>
根据发布的回复(很久以前,sry'回合说),实现这一目标几乎是不可能的。 对我来说它有效...除非我没有得到什么。
答案 3 :(得分:0)
您的Apache客户端将会收到一个数据包,告诉您IP地址是什么。
您可以跟踪IP并查看它们是否被重复使用,但静态与动态是由他所连接的网络协商而不是您的网站。
答案 4 :(得分:0)
不是真的,只有通过经验证据,相同的IP重复出现 - 即使这样,也不能保证它是同一个用户,除非它与用户帐户或cookie等匹配。
IP是静态的还是动态分配的,不是可以查询的内容。
答案 5 :(得分:0)
您可能能够检测到NAT的存在,因为NAT会“破坏”数据包。我不确定NAT是如何工作的,我认为它基于源端口。但我认为NAT可能会以可识别的方式破坏TCP标头的其他部分,就像生存时间一样。并非NAT是100%保证它们具有动态IP,但它通常与DHCP一起使用。
答案 6 :(得分:-1)
可以通过applet。
你可以创建一个java applet并获取本地计算机的ip和$ _SERVER ['REMOTE_ADDR']和数学两者,并且可以识别它是否具有静态或动态ip