网络地址来源:
获取公网IP地址
https://ipip.yy.com/get_ip_info.php
http://pv.sohu.com/cityjson?ie=utf-8
http://www.ip168.com/json.do?view=myipaddress
http://www.ipip.NET/ip.php
http://ip.chemdrug.com/
http://ip.siteloop.net/
http://whois.pconline.com.cn/ipJson.jsp?callback={IP:255.255.255.255}
http://www.whatismyip.com.tw/
Python/ target=_blank class=infotextkey>Python
import requests
from bs4 import BeautifulSoup
def getIP():
headers = {
"Accept": "text/html,Application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"User-Agent": "Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.16 Safari/537.36",
}
url = 'http://www.whatismyip.com.tw/'
response = requests.get(url=url,
headers=headers).content.decode()
soup = BeautifulSoup(response, 'html.parser')
ipaddress = soup.find_all('b')[0].find("span").text
ip_list = ["127.0.0.1","1.204.29.177"]
if ipaddress in ip_list:
print("合法登录")
else:
print("非法登录")
getIP()
PHP
$url = "http://pv.sohu.com/cityjson?ie=utf-8";
$content = file_get_contents($url);
$data = explode("=",$content);
$str = substr($data[1],0,strlen($data[1])-1);
$ip_str = explode(",",$str)[0];
$ip_str = explode(":",$ip_str);
$visitor_ip = explode('"',$ip_str[1])[1]; # 访问者ip
# 获取ip库
$filename = "ip_list.txt";
$arr = array();
if (0 < filesize($filename)){
$handle = fopen($filename, "r");//读取二进制文件时,需要将第二个参数设置成'rb'
//通过filesize获得文件大小,将整个文件一下子读到一个字符串中
$contents = fread($handle, filesize ($filename));
fclose($handle);
$arr = explode("rn",trim($contents,"rn"));
}
if (in_array($visitor_ip,$arr) || 0 == count($arr)){
echo "合法";
}else{
echo "非法";
}