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

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

372 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判断某个时间戳(打卡、点餐、签到等)是不是今天记录的

php判断时间戳是不是今天的实现方法:首先创建一个PHP示例文件;指定一个时间,并...

15 1126
PHP怎样用正则判断一个链接是内链还是外链?
PHP怎样用正则判断一个链接是内链还是外链?

在日常文章的发表过程中,由于需要引入一些外部链接达到更好的效果与体验。但...

26 1331
ajax发起session请求发现session无效了怎么办?
ajax发起session请求发现session无效了怎么办?

今天遇到这样一个问题:php启用了session,经过测试也发现session生效了。但在a...

1 439
json数据{}转为php数组[]
json数据{}转为php数组[]

json是使用非常广泛的数据,通过使用json,我们还可以实现多种语言的联动。今天...

0 381
php常用基础函数isset()介绍
php常用基础函数isset()介绍

isset() 函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释...

0 399
php正则提取字符串中的数字并打印输出
php正则提取字符串中的数字并打印输出

我们在网站开发的过程中经常需要处理数据,今天讲讲怎样用正则提取字符串中的...

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

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

1 404
简单的php高并发处理方案分享
简单的php高并发处理方案分享

很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...

0 396
推荐插件
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

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

0 449
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 676
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

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

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

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

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

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

0 985
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

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

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

0 452
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

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