我正在寻找一种好方法来显示当前有多少人访问我的网站(实时)。
我发现,这可能是最简单的方法,当我将访问我的服务器/站点的人的 IP 地址保存在 mysql 表中时。
所以我可能需要做的是:
创建一个配置良好的 mysql 表
添加保存IP地址的功能(我猜在php中)
增加删除ip地址的功能,如果不再需要它
使过程实时或接近实时
有人可以帮助我吗?
这是一个快速示例,说明如何获取客户端的真实 IP 地址,然后从 mysql 数据库存储和检索其值
//Test if it is a shared client
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
//Is it a proxy address
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
//The value of $ip at this point would look something like: "192.0.34.166"
$ip = ip2long($ip);
//The $ip would now look something like: 1073732954
Run Code Online (Sandbox Code Playgroud)
现在您已经将客户端的真实 IP 地址转换为 INT 格式,您可以像往常一样将其写入数据库
$sql = "INSERT INTO user(ip) VALUES('$ip')";
$dbQuery = mysql_query($sql,$dbLink);
Run Code Online (Sandbox Code Playgroud)
有关此链接的更多信息:在 MySQL 中存储 IP 地址的最佳方法
附加信息:使您的代码免受SQL 注入的影响。使用PDO或MYSQLI
使用 PDO 扩展的示例:
<?php
$stmt = $dbh->prepare("INSERT INTO user(ip) VALUES(?)");
$stmt->bindParam(1, $ip);
$stmt->execute();
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15760 次 |
| 最近记录: |