当你自己搭建一个网站时会有很多用户来进行访问,会有来自四面八方的ip地址访问你的服务器,这时就需要做一个记录来源的程序来进行溯源
首先你得有一个自己的服务器来搭建网站我这里以Apache举例
在/var/www/html/目录下创建一个名为index.php的文件
文件内容如下
<?php
$ip = $_SERVER['REMOTE_ADDR'];#获取ip地址
#将访问进来的ip添加到ipaddress.txt里
file_put_contents('/var/www/html/ipaddress.txt', $ip."\n", FILE_APPEND);
header('Location: http://www.baidu.com');#跳转至百度
exit();
?>
这样子就可以将访问进来的ip存入ipaddress.txt文件里
我们可以去写一个python脚本来进行日志的记录和ip的查询
代码如下
import webbrowser
import datetime
import time
print('是否清除ip日志,不清除将会查询之前的ip记录?[y/n]')#选择是否清除ipaddress.txt里的内容
Choose_Log = str(input())
if Choose_Log == 'y':
with open('ipaddress.txt', 'w', encoding = 'utf-8') as f3:
pass
elif Choose_Log == 'n':
pass
else:
time.sleep(3)
exit()
First_Ip = ''
with open('ipaddress.txt', 'r', encoding = 'utf-8') as f1:
while True:
Last_Ip = f1.readline().strip()
if First_Ip != Last_Ip and Last_Ip != '':#如果两次访问的ip不同就往下执行
First_Ip = Last_Ip
print(First_Ip + ' TIME : ' + str(datetime.datetime.now()))#
with open('foundip.log', '+a', encoding = 'utf-8') as f2:#会将具体的时间和ip记录到found.log文件里
f2.write(First_Ip + ' TIME : ' + str(datetime.datetime.now()) + '\n')
webbrowser.open(f'https://www.ip138.com/iplookup.php?ip={First_Ip}&action=2')#通过打开默认浏览器的形式打开ip138来进行ip地址的查询,即可进行溯源
这样就可以在有流量访问进来时将其的ip地址进行查询,清除ipaddress的作用是如果不清除便可以将之前的ip进行查询,清除就会重新记录新的。