欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

「自学哈网」PHP限制同IP一天访问次数方法

作者 : 自学哈 本文共1343个字,预计阅读时间需要4分钟 2022-10-8 共30人阅读
也想出现在这里? 联系我们

现在网络攻击非常严重,作为一个合格的程序员必须懂得如何处理网站安全问题,比如一个API接口如果不处理,可能会被不良人员恶意调用,占用服务器资源。

这里精准像素分享一个简单的PHP限制同IP一天访问次数方法,适合不太懂程序的朋友使用,但是不是非常完全,但肯定可以给不法人员带来限制。

简单的PHP限制访问次数

$t = strtotime(date('Y-m-d 23:59:59'));
if(! isset($_COOKIE['frequency'])) {
  setcookie('frequency', 1, $t);
} else {
  if($_COOKIE['frequency'] >= 5) exit( '<script>alert("每天只能免费使用5次")</script>'); 
  setcookie('frequency', $_COOKIE['frequency']+1, $t);
}

IP+Cookie的方法,本地判断处理限制方法,但可以通过清楚浏览器COOKIE或禁止COOKIE来绕过。

下面的方法为写入用户IP来判断的方法,服务端判断处理限制方法。

if(isset($_POST['sub'])){
$answer=$_POST['answer'];
if(!empty($answer)){
     require("conn.php"); // 引入数据库文件
     // 获取客户端IP
     $ip=$_SERVER['REMOTE_ADDR'];
     $insertsql="insert into user(ip,svote)values('$ip','$answer')";
   $selectsql="select * from user whereip='$ip'";
     $value=mysql_query($selectsql);
     if(mysql_num_rows($value)==0){  //如果该IP还未投过票
        $result=mysql_query($insertsql); // 执行插入
         if($result){
              echo "<script>alert('投票成功!');</script>";
         }else{
            echo "<script>alert('投票失败!');</script>";
         }
  
     }else{
        echo "<script>alert('您已经投过票了!');</script>";
     }
}else{
echo"<script>alert('您还没有进行选择!');</script>";
}
echo"<br/>";

本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」PHP限制同IP一天访问次数方法
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号