网站防数据库入侵代码

使用方法,创建PHP文件,引入该文件

include("./Common.php");

<?php
class sqlsafe {private $getfilter = "'|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";private $postfilter = "\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";private $cookiefilter = "\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";/*** 构造函数*/public function __construct() {foreach($_GET as $key=>$value){$this->stopattack($key,$value,$this->getfilter);}foreach($_POST as $key=>$value){$this->stopattack($key,$value,$this->postfilter);}foreach($_COOKIE as $key=>$value){$this->stopattack($key,$value,$this->cookiefilter);}}/*** 参数检查并写日志*/public function stopattack($StrFiltKey, $StrFiltValue, $ArrFiltReq){if(is_array($StrFiltValue))$StrFiltValue = implode($StrFiltValue);if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue) == 1){   $this->writeslog($_SERVER["REMOTE_ADDR"]."    ".strftime("%Y-%m-%d %H:%M:%S")."    ".$_SERVER["PHP_SELF"]."    ".$_SERVER["REQUEST_METHOD"]."    ".$StrFiltKey."    ".$StrFiltValue);showmsg('您提交的参数非法,系统已记录您的本次操作!','',0,1);}}/*** SQL注入日志*/public function writeslog($log){$log_path = CACHE_PATH.'logs'.DIRECTORY_SEPARATOR.'sql_log.txt';$ts = fopen($log_path,"a+");fputs($ts,$log."\r\n");fclose($ts);}
}class protection{public static function filtrate($str){$farr = array("/\\s+/","/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU","/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",);$str = preg_replace($farr,"",$str);return addslashes($str);}public static function sweep($array){if (is_array($array)){foreach($array as $k => $v){$array[$k] = self::sweep($v);}}else{$array = self::filtrate($array);}return $array;}
}
$_REQUEST = protection::sweep($_REQUEST);
$_GET = protection::sweep($_GET);
$_POST = protection::sweep($_POST);?>

网站防数据库入侵代码相关推荐

  1. 老站长传授网站防黑经验

    <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-al ...

  2. 与 Netcraft 携手为 GlobalSign 的客户提供先进的保护措施以防止网站遭受恶意入侵和钓鱼攻击...

    2019独角兽企业重金招聘Python工程师标准>>> Netcraft 反钓鱼系统支持最主流浏览器,如果安裝 GlobalSign 数字证书的网站正遭受钓鱼攻击,Netcraft ...

  3. 网站防篡改有什么方法

    网站被篡改可以说是猝不及防,如果我们网站服务器没有做好防护工作的话,指不定哪天就会被入侵,那么网站防篡改有什么方法呢,一起跟着小编来看看. 想要了解如何防篡改,我们先了解网站被篡改的主要几种方式: 1 ...

  4. 抵御风险网站防攻击,国产浏览器能做的有很多

    近几年,勒索软件攻击事件越来越多,教育和零售业.医疗保健机构.政府机构都成为攻击的受害方,勒索赎金常常高达数百万,严重影响机构的正常运营.勒索病毒一般通过程序木马.邮件.网站挂马等方式进行攻击,而浏览 ...

  5. wordpress 黑客_12个迹象表明您的WordPress网站被黑客入侵

    wordpress 黑客 We are often asked what are some signs that indicate a WordPress site is hacked? There ...

  6. 阿里云服务器IIS网站快照被入侵导致违规URL通知

    距离2022年元旦约越来越近,我们发现很多网站用IIS环境尤其是aspx+sqlserver架构的网站总是被攻击,具体症状首先是接到阿里云的通知说是有违规URL通知,然后过了几天发现百度site网站域 ...

  7. 开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

    前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRunner确实 ...

  8. php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码

    <Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...

  9. 微信小程序订票选座PHP后台网站MySQL数据库和无前端小程序版本两个程序

    微信小程序订票选座PHP后台网站MySQL数据库和无前端小程 下载点此去 两个相同功能 差别在一个有前端微信小程序 一个没有 (1)登录功能:注册普通账号登录:也可以直接使用微信登录:登录后可以修改用 ...

最新文章

  1. dataconnectiondialog mysql_MySQL的DataConnectionDialog
  2. 道歉无用!被 Linux “拉黑”的明尼苏达大学还在努力重获信任
  3. 贝叶斯网络结构学习之K2算法(基于FullBNT-1.0.4的MATLAB实现)
  4. c语言求n以内的素数的个数,关于求N以内素数的一点小问题(N小于一亿)
  5. python如何下载tushare_安装tushare
  6. [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)
  7. 华为诺亚CV方向19篇论文入选ICCV 2019
  8. ThreadLocal剧集(一)
  9. 机器学习--LR逻辑回归与损失函数理解
  10. pandas 在某个列表中的值 筛选列_Pandas学习笔记(二)
  11. GStreamer入门概念(二)
  12. QSettings实现记住密码
  13. 印尼Widya Robotics携手华为云,让建筑工地安全看得见
  14. Linux与.Net Core(一) Centos 系统制作教程
  15. Android ActivityManager一些API介绍
  16. 深度卷机网络(Deep CNNs)的GFLOPS与参数量计算
  17. 数据分析师面试简历怎么做?
  18. gatk过滤_快速入门GATK | Public Library of Bioinformatics
  19. 安装texthero踩过的坑
  20. 提升产品创新能力,试试斯坦福大学设计思维模型

热门文章

  1. 【Medical physics】放疗术语
  2. oracle递归查询指定子节点,oracle递归查询子节点
  3. Armadillo_OpenBLAS_IntelMKL安装
  4. vue + element UI中国省市区级联数据
  5. AutoMapper 8.0的应用--动态配置
  6. Day 52: 随机森林
  7. 专业Netflix视频下载器NoteBurner Netflix Video Downloader Mac
  8. 【最火的微信开发开源框架】推荐给开发者应该学会的有关微信开发的十个开源项目
  9. 变分自编码器VAE的数学原理
  10. 请简述ajax的过程,简述 AJAX 及基本步骤