很多站长朋友们都不太清楚phpip管理,今天小编就来给大家整理phpip管理,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP中如何阻止某个IP频繁的发请求? 2、 php怎么禁止某ip或ip地址段访问 3、 如何用php实现IP限制 4、 php 修改服务器IP PHP中如何阻止某个IP频繁的发请求?两个方法
一个是系统级的,也就是在系统里通过软件将这个ip屏蔽掉,这需要你有服务器的管理权限
第二个方法就是应用级的了
在你的程序里,加上ip访问模块,添加黑名单即可。
php怎么禁止某ip或ip地址段访问//禁用单个ip如下:
<?php
//禁用ip地址
$ip=$_SERVER["REMOTE_ADDR"];
$ban=file_get_contents("ban.dat");
if(stripos($ban,$ip))
{
die("Your IP Address is:$ip,you're forbiden to view this page!");
}
echo "Your IP Address is:$ip,hello!";
?>
//禁用ip段如下:
<?php
//禁用ip地址
$ip=$_SERVER["REMOTE_ADDR"];
while($ip[count($ip-1)]!='.')$ip=substr($ip,1, -1); //整理出ip段
$ban=file_get_contents("ban.dat");
if(stripos($ban,$ip))
{
die("U're forbiden to view this page!");
}
echo "Hello!";
?>
如何用php实现IP限制<?php
error_reporting(7);
session_start();
// 发送字符头信息
if ($headercharset)
header("Content-Type:text/html; charset=gb2312");
// 加载公共文件
require_once("config.php");
require_once("global.php");
require_once("db_mysql.php");
/***************** 进行客户端能否访问本网站校验 ************/
// 获取客户端IP
if(getenv('HTTP_CLIENT_IP')) {
$client_ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$client_ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$client_ip = getenv('REMOTE_ADDR');
} else {
$client_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
// 分解客户端IP
$cip = explode(".", $client_ip);
// 连接数据库
$db = new DB_Sql();
$err = $db->connect();
/* 限制远程IP访问, PS: 这段代码真晕,呵呵,用了8个if, -_-# */
// 从数据库中提取存储的要限制的IP地址
$query_str = "SELECT limit_ip FROM us_limitip";
$db->query($query_str);
// 把结果循环提取,一个个进行校验
while ($db->next_record())
{
$limit_ip = $db->f("limit_ip");
$lip = explode(".", $limit_ip);
// 如果限制IP的第一个是*或者是0的话就跳到错误页
if (($lip[0]=='*') || ($lip[0]=='0'))
header("Location:error.php?errid=300");
// 如果刚好客户端IP等于我们限制IP就跳到错误页
if ($client_ip==$limit_ip)
header("Location:error.php?errid=300");
// 如果第一组IP一致进行第二组IP的匹配
if ($cip[0] == $lip[0])
{
// 如果第二组限制IP是*就跳到错误页
if ($lip[1]=='*')
header("Location:error.php?errid=300");
// 第二组IP匹配就进行第三组IP匹配
if ($cip[1]==$lip[1])
{
// 如果第三组限制字符是*就跳到错误页
if ($lip[2]=='*')
header("Location:error.php?errid=300");
// 如果第三组IP匹配就跳到第三组校验
if ($cip[2]==$lip[2])
{
// 如果第四组限制IP是*或0就跳到错误页
if (($lip[3]=='*') || ($lip[3]=='0'))
header("Location:error.php?errid=300");
}
}
}
}
// 释放数据库查询结果
$db->free();
/****************** IP校验结束 ******************/
?>
php 修改服务器IP1.确认执行该PHP脚本的系统具备修改服务器IP/子网掩码/网关的权限.
2.确认你的PHP运行执行shell_exec的函数,这个函数在安全模式下是被屏蔽的.
3.确认你在shell_exec里面执行的系统命令行是正确的.
简单的例子:
$ vi test.php
#!/usr/bin/php
<?php
$rsl = shell_exec("fconfig eth0 192.168.1.2 netmask 255.255.255.0"); //改ip和子网掩码的.
$rsl2 = shell_exec("route add default gw 192.168.1.1"); //设置网关
echo $rsl."\n".$rsl2;//看看返回的结果.
?>
$ chmod 755 test.php -- 给脚本增加执行的权限
$ ./test.php
参考其他函数:
exec()
system()
等等.
windows下怎么做?
我又没钱买windows我怎么知道!
关于phpip管理的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。