PHP 防恶意刷新实现代码
<?php
session_start();
$k=$_GET['k'];
$t=$_GET['t'];
$allowTime = 1800;//防刷新时间
$ip = get_client_ip();
$allowT = md5($ip.$k.$t);
if(!isset($_SESSION[$allowT]))
{
$refresh = true;
$_SESSION[$allowT] = time();
}elseif(time() - $_SESSION[$allowT]>$allowTime){
$refresh = true;
$_SESSION[$allowT] = time();
}else{
$refresh = false;
}
?>
相关推荐
-
php过滤所有恶意字符(批量过滤post,get敏感数据)
函数代码: 复制代码 代码如下: //php 批量过滤post,get敏感数据 if (get_magic_quotes_gpc()) { $_GET = stripslashes_array($_GET); $_POST = stripslashes_array($_POST); } function stripslashes_array(&$array) { while(list($key,$var) = each($array)) { if ($key != 'argc' &&
-
php快速查找数据库中恶意代码的方法
本文实例讲述了php快速查找数据库中恶意代码的方法.分享给大家供大家参考.具体如下: 数据库被输入恶意代码,为了保证你的数据库的安全,你必须得小心去清理.有了下面一个超级方便的功能,即可快速清除数据库恶意代码. function cleanInput($input) { $search = array( '@]*?>.*?@si', // Strip out javascript '@<[\/\!]*?[^<>]*?>@si', // Strip out HTML tags
-
php 处理上百万条的数据库如何提高处理查询速度
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放
-
php连接oracle数据库及查询数据的方法
本文实例讲述了php连接oracle数据库及查询数据的方法.分享给大家供大家参考.具体分析如下: php有强大的功能不但可以支持mysql,mssql,mysqli之个我们还可以与oracle数据连接,要让php支持oracle非常的简单我们只要把php.ini中的;extention = php_oci8.dll分号去掉即可. php支持oracle连接函数 php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号,重启apache就可以了,如果不行
-
php中防止恶意刷新页面的代码小结
防止恶意刷页面的原理是 要求在页面间传递一个验证字符串, 在生成页面的时候 随机产生一个字符串, 做为一个必须参数在所有连接中传递.同时将这个字符串保存在session中. 点连接或者表单进入页面后,判断session中的验证码是不是与用户提交的相同,如果相同,则处理,不相同则认为是重复刷新. 在处理完成后将重新生成一个验证码,用于新页面的生成 代码 复制代码 代码如下: <?php session_start(); $k=$_GET['k']; $t=$_GET['t']; $allowTim
-
php使用pdo连接并查询sql数据库的方法
本文实例讲述了php使用pdo连接并查询sql数据库的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: $login = "root"; $passwd = "mysql"; try{ $db=new pdo('mysql:host=localhost;dbname=mysql',$login,$passwd); foreach($db->query('select * from test') as $row){ print_
-
php防止恶意刷新与刷票的方法
本文实例讲述了php防止恶意刷新与刷票的方法.分享给大家供大家参考.具体实现方法如下: 一般来说,恶意刷新就是不停的去刷新提交页面,导致出现大量无效数据,下面我们来总结一下php 防止恶意刷新页面方法总结. 防止恶意刷页面的原理是: 要求在页面间传递一个验证字符串, 在生成页面的时候 随机产生一个字符串, 做为一个必须参数在所有连接中传递.同时将这个字符串保存在session中. 点连接或者表单进入页面后,判断session中的验证码是不是与用户提交的相同,如果相同,则处理,不相同则认为是重复刷
-
PHP 防恶意刷新实现代码
复制代码 代码如下: <?php session_start(); $k=$_GET['k']; $t=$_GET['t']; $allowTime = 1800;//防刷新时间 $ip = get_client_ip(); $allowT = md5($ip.$k.$t); if(!isset($_SESSION[$allowT])) { $refresh = true; $_SESSION[$allowT] = time(); }elseif(time() - $_SESSION[$allo
-
asp.net网站防恶意刷新的Cookies与Session解决方法
本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧.分享给大家供大家参考.具体实现方法如下: Session版实现方法: public double time; public const int freetime = 1;//防刷冰冻时间间隔,当前为1秒 #region 防恶意刷新 if (Session.SessionID == null) { Response.End(); } else if (Session["sionid
-
动网防恶意广告比较有效的办法附asp代码
1. 进入后台,风格界面模板总管理,page_login,template.html(13) <TR> <TD class=tablebody1><B>密码问题</B>:<BR>忘记密码的提示问题</TD> 在此两句上面添加如下代码 <TR> <TD class=tablebody1> <div style="color:red"><b>反论坛群发必填项:<
-
DropDownList 下拉框选择改变促发事件和防全局刷新(推荐)
代码: <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> //ASP.NET中使用UpdatePanel实现局部异步刷新 <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Dr
-
nginx黑名单和django限速,最简单的防恶意请求方法分享
django项目遭遇cc攻击,不要惊慌,这里推荐两招简单实用的技巧. 项目Nginx作为http接入层,分发到django应用,启动10个uwsgi worker. 今日突然发现,网页打开卡顿,打开server一看,cpu100%. 打开uwsgi的log,发现某一个IP进行了大量的请求,占用了worker. 这里总结下两种解决方法: 1.设置nginx黑名单 vi blockip.conf创建文件,输入: deny x.x.x.x; 编辑nginx.conf, 在http{}内添加: incl
-
SpringBoot+Redis布隆过滤器防恶意流量击穿缓存
目录 什么是恶意流量穿透 怎么防 布隆过滤器的另一个用武场景 给Redis安装BloomFilter 在Redis里使用BloomFilter 结合SpringBoot使用 搭建springboot工程 使用压测工具喂120万条数据进入RedisBloomfilter看实际效果 本文主要介绍了SpringBoot+Redis布隆过滤器防恶意流量击穿缓存,具体如下: 什么是恶意流量穿透 假设我们的Redis里存有一组用户的注册email,以email作为Key存在,同时它对应着DB里的User表的
-
Spring Boot 防止接口恶意刷新和暴力请求的实现
在实际项目使用中,必须要考虑服务的安全性,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况,下面的教程,通过intercept和redis针对url+ip在一定时间内访问的次数来将ip禁用,可以根据自己的需求进行相应的修改,来打打自己的目的: 首先工程为springboot框架搭建,不再详细叙述.直接上核心代码. 首先创建一个自定义的拦截器类,也是最核心的代码; /** * @package: com.technicalinterest.group.interceptor * @c
-
SpringBoot+Redis防止恶意刷新与暴力请求接口的实现
目录 配置 目录结构 实现代码 本项目采用 springboot+Redis的方式来实现:所采用的全部参考文献在文末,包括软件的安装.测试等等 实验环境: centos 7 安装Redis ,采用wget安装, IDE :IDEA 配置 pom文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"
-
iOS开发之UITableView与UISearchController实现搜索及上拉加载,下拉刷新实例代码
废话不多说了,直接给大家贴代码了. 具体代码如下所示: #import "ViewController.h" #import "TuanGouModel.h" #import "TuanGouTableViewCell.h" #define kDeviceWidth [UIScreen mainScreen].bounds.size.width #define kDeviceHeight [UIScreen mainScreen].bounds.
随机推荐
- Python之Web框架Django项目搭建全过程
- mysql error 1130 hy000:Host'localhost'解决方案
- VBS教程:函数-DatePart 函数
- Windows Server 2003 SP1 今日发布
- 浅谈Linux环境下gcc优化级别
- iOS中打包上传常见的错误与解决办法
- EditPlus中的正则表达式 实战(4)
- Python输出带颜色的字符串实例
- python中常用的各种数据库操作模块和连接实例
- C#实现可捕获几乎所有键盘鼠标事件的钩子类完整实例
- PHP写入WRITE编码为UTF8的文件的实现代码
- Python基于sftp及rsa密匙实现远程拷贝文件的方法
- Jquery中Ajax 缓存带来的影响的解决方法
- Jquery实现搜索框提示功能示例代码
- jquery淡入淡出效果简单实例
- jQuery Validation Plugin验证插件手动验证
- AS3自写类整理笔记:ByteLoader类
- 修改.htaccess实现子目录绑定示例分享
- 双token实现token超时策略示例
- Marquee高级用法实例代码