下载鸥 > 网站下载 > 开发教程 > PHP

PHP限制同IP一天访问次数方法

341 2021-01-02 00:58:10

收藏

简述

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

现在网络攻击非常严重,作为一个合格的程序员必须懂得如何处理网站安全问题,比如一个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/>";

 

本文地址:https://xzo.com.cn/develop/php/523.html

有帮助,很赞!

信息来源:精准像素
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP怎样正则匹配段落里的图片并提取图片链接?
PHP怎样正则匹配段落里的图片并提取图片链接?

在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...

19 934
PHP正则提取字符串中的数字组成数组
PHP正则提取字符串中的数字组成数组

在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...

13 1419
str_replace怎样一次性替换多个值(数组)?
str_replace怎样一次性替换多个值(数组)?

我们知道,str_replace是可以执行替换命令的,但一般是用于一对一替换,这个很好...

1 432
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?

页面提交post请求后被宝塔防火墙拦截,查看日志显示错误:参数值长度超过20w已...

1 556
怎样在每次发起请求时重置session_id?
怎样在每次发起请求时重置session_id?

在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...

3 405
php基础应用:获取今天是星期几并给变量赋值
php基础应用:获取今天是星期几并给变量赋值

在网站的开发过程中,我们经常需要获取今天是星期几,并根据星期的不同而进行不...

0 409
什么是高并发,与CPU,内存,分布式有什么关系
什么是高并发,与CPU,内存,分布式有什么关系

我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...

1 395
PHP的for循环为什么只执行了一次就停止了?
PHP的for循环为什么只执行了一次就停止了?

今天有朋友咨询鸥哥,说php写的for循环本来至少要循环9次,但却只执行了一次就...

1 426
推荐插件
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 423
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...

0 453
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1284
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 1017
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...

0 524
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 926
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 471
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1285
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入