我是一名iphone开发人员 - 新开发web dev,请耐心等待!
我目前正在使用MAMP进行本地测试。如何处理IPv4地址旁边的IPv6地址
我在我的网站上有一个高度安全的部分。随着需要用户/通行证 - 它也检查用户的IP。如果该帐户之前没有从该IP使用过,则会将该IP以及唯一ID添加到保留表中,并向用户发送一封电子邮件,要求确认从该位置访问其帐户。
如果用户登录,并且他们的IP与我的“允许”表中的用户ID相关联的任何IP都不匹配,它将执行上述任务,并且他们会收到一封电子邮件。
我用它来生成他们点击链接的URL代码看起来有点像这样:
if (preg_match('/^127./',$ip)) {
// accessed from this machine
$val_url = "http://localhost:8888/mywebsite/admin/aproove_ip.php?email=$admin_email&val=$hash";
}
else if (preg_match('/^192\.168./',$ip)) {
// accessed form a local networked computer
$val_url = "http://super.local:8888/mywebsite/admin/aproove_ip.php?email=$admin_email&val=$hash";
// note super.local is my machine's address, 8888 is MAMP port
}
else {
// accessed from the WWW
$val_url = "http://www.mywebsite.com/admin/aproove_ip.php?email=$admin_email&val=$hash";
}
现在,这已经完全在我的电脑上测试时的工作。我决定(不要问为什么)从我的iPod Touch和它发给我的电子邮件(以验证IP)进行测试,它给了我完整的在线地址,就好像它已经从WWW(即没有任何正则表达式都满意)。我查看了包含请求的保留表,并且请求的IP为:fe80::da30:62ff:fe18:6681
。
我猜这是ipv6? - 我需要知道的是:
- 我应该期望ipv6地址在我的网站上线吗?
- 我怎样才能知道,如果它是一个本地请求(像我正则表达式对192.168 ...和127 ...)
我将非常感谢有这方面的意见,我觉得很困惑
+1想使你的代码的IPv6兼容!即使IPv4地址已经用完,今天编写的程序仍然不支持IPv6。 – snap