很多站长朋友们都不太清楚PHP限制IP登录教程,今天小编就来给大家整理PHP限制IP登录教程,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP中限制IP段访问、禁止IP提交表单的代码 2、 如何在php上限制一个ip一天只能注册10个账户,注册多了不允许 3、 求一段PHP限制IP及IP段访问的代码,拜托了。。 PHP中限制IP段访问、禁止IP提交表单的代码我们只要在feedback.php中添加下面的代码进行判断就可以了。
注意:下边只是一个PHP限制IP的实例代码,如果您打算应用到CMS中,请自行修改,或者如果您正在使用DEDECMS,可以联系本站。
复制代码
代码如下:
<?php
//加IP访问限制
if(getenv('HTTP_CLIENT_IP')
strcasecmp(getenv('HTTP_CLIENT_IP'),
'unknown'))
{
$userip
=
getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR')
strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),
'unknown'))
{
$userip
=
getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('REMOTE_ADDR')
strcasecmp(getenv('REMOTE_ADDR'),
'unknown'))
{
$userip
=
getenv('REMOTE_ADDR');
}
elseif(isset($_SERVER['REMOTE_ADDR'])
$_SERVER['REMOTE_ADDR']
strcasecmp($_SERVER['REMOTE_ADDR'],
'unknown'))
{
$userip
=
$_SERVER['REMOTE_ADDR'];
}
//限制ip
if
($userip=='27.37.188.128'){
header("location:");//被禁止后跳转到脚本之家站
exit;
}
//限制ip段
$ip_arr
=
explode('.',
$userip);
#限制的ip段,假设是192.168.*.*
if
(!(($ip_arr[0]
==
'192'
$ip_arr[1]=='168')
)){
header("location:");//被禁止后跳转到脚本之家素材站
exit;
}else{
header("location:");//正常IP则直接访问脚本之家首页
exit;
}
?>
如何在php上限制一个ip一天只能注册10个账户,注册多了不允许思路:
获取访问用户ip,查询数据库判断该ip是否可以继续注册新用户
示例
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/11/30
* Time: 19:35
* 限制一个ip一天只能注册10个账户
* 获取访问用户ip,查询数据库判断该ip是否可以继续注册新用户
*/
//获取数据库实例
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = '';
try {
$db = new PDO($dsn, $user, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
//获取访问用户ip
$access_user_ip = $_SERVER['REMOTE_ADDR'];
//查询数据库判断该ip是否可以继续注册新用户
$start_time = strtotime(date('Y-m-d'));//今天0点
$end_time = strtotime(date('Y-m-d').' +1 day ');//明天0点
$sth = $db->prepare('select count(*) from user where ip=:ip and created_at>:start_time and created_at<:end_time');
$sth->bindParam(':ip',$access_user_ip);
$sth->bindParam(':start_time',$start_time);
$sth->bindParam(':end_time',$end_time);
$sth->execute();
$count = $sth->fetchColumn();//当前该ip今天注册的用户总数量
if ($count>10){
exit('今天,您已注册10个新账号了,请明天再来吧');
}
源码放在github上,欢迎点星网页链接
求一段PHP限制IP及IP段访问的代码,拜托了。。正确代码
function check_ip(){
$ALLOWED_IP=array('192.168.2.*','127.0.0.1','192.168.2.49');
$IP=getIP();
$check_ip_arr= explode('.',$IP);//要检测的ip拆分成数组
#限制IP
if(!in_array($IP,$ALLOWED_IP)) {
foreach ($ALLOWED_IP as $val){
if(strpos($val,'*')!==false){//发现有*号替代符
$arr=array();//
$arr=explode('.', $val);
$bl=true;//用于记录循环检测中是否有匹配成功的
for($i=0;$i<4;$i++){
if($arr[$i]!='*'){//不等于* 就要进来检测,如果为*符号替代符就不检查
if($arr[$i]!=$check_ip_arr[$i]){
$bl=false;
break;//终止检查本个ip 继续检查下一个ip
关于PHP限制IP登录教程的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于PHP限制IP登录教程 php登陆的详细内容...