php防止注入漏洞,php防止sql注入漏洞代码
注入漏洞代码和分析
先上代码
<?php function customError($errno, $errstr, $errfile, $errline) { echo "Error number: [$errno],error on line $errline in $errfile
"; die();
} set_error_handler("customError",E_ERROR); $getfilter="'|(and|or)\\b.+?(>|||
{ $StrFiltValue=implode($StrFiltValue);
} if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1&&!isset($_REQUEST['securityToken']))
{
slog("
操作IP: ".$_SERVER["REMOTE_ADDR"]."
操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."
操作页面:".$_SERVER["PHP_SELF"]."
提交方式: ".$_SERVER["REQUEST_METHOD"]."
提交参数: ".$StrFiltKey."
提交数据: ".$StrFiltValue); print "result notice:Illegal operation!"; exit();
}
} foreach($_GET as $key=>$value)
{
StopAttack($key,$value,$getfilter);
} foreach($_POST as $key=>$value)
{
StopAttack($key,$value,$postfilter);
} foreach($_COOKIE as $key=>$value)
{
StopAttack($key,$value,$cookiefilter);
} function slog($logs) { $toppath="log.htm"; $Ts=fopen($toppath,"a+"); fputs($Ts,$logs."\r\n"); fclose($Ts);
} ?>
sql
分析
如果使用这个函数的话,这个函数会绕开PHP的标准出错处理,所以说得自己定义报错处理程序(die())。
其次,如果代码执行前就发生了错误,那个时候用户自定义的程序还没有执行,所以就不会用到用户自己写的报错处理程序。
那么, PHP里有一套错误处理机制,可以使用 set_error_handler() 接管PHP错误处理,也可以使用 trigger_error() 函数主动抛出一个错误。
set_error_handler() 函数设置用户自定义的错误处理函数。函数用于创建运行期间的用户自己的错误处理方法。它需要先创建一个错误处理函数,然后设置错误级别。
关于的用法:
1 function customError($errno, $errstr, $errfile, $errline) 2 3 { 4 5 echo "错误代码: [${errno}] ${errstr}\r\n"; 6 7 echo " 错误所在的代码行: {$errline} 文件{$errfile}\r\n"; 8 9 echo " PHP版本 ",PHP_VERSION, "(" , PHP_OS, ")\r\n"; 10 11 // die(); 12 13 } 14 15 set_error_handler("customError",E_ALL| E_STRICT);
php防止注入漏洞,php防止sql注入漏洞代码相关推荐
- 漏洞篇(SQL注入一)
目录 一.sql 注入概述 1.SQL 注入原理 2.SQL 注入的分类 二.部署 sqli-labs 学习环境 1.SQLI-LABS 简介 2.部署 SQLI-LABS 实验环境 三.SQLI-L ...
- 基于pikachu漏洞平台的 --SQL注入攻击学习与总结
SQL注入攻击 基础知识 常见注释符号 使用示例 pikachu 漏洞联系平台 -- SQL注入 SQL注入攻击流程 注入点类型 数字型注入(POST) 字符型注入(GET) 搜索型注入 XX型注入 ...
- 漏洞系列之——SQL注入
了解SQL注入 漏洞描述 漏洞等级 漏洞危害 漏洞检测方法 漏洞利用方法 漏洞修复方案 SQL注入靶场环境可以参考"热门靶场怕坑练习"的sqli-labs 漏洞描述 SQL注入是网 ...
- 漏洞挖掘之 SQL 注入挖掘
一.SRC行业安全测试规范 注入漏洞,只要证明可以读取数据就行,严禁读取表内数据.对于UPDATE. DELETE.INSERT等注入类型,不允许使用自动化工具进行测试. [TPSA19-22]S ...
- 【SQL注入漏洞-01】SQL注入漏洞原理及分类
SQL注入简介 结构化查询语言(Structured Query Language,缩写︰SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言. SQL注入(SQL Injection)是一 ...
- web漏洞开始,sql注入
第十一天,web漏洞必懂知识点 这个图里面,右边的漏洞比左边的漏洞相对重要,因为在实战过程中,左边所产生的漏洞就比较少,我们学习网络安全呢就要做到他们的这些原理和危害. 比如sql注入漏洞是网站数据库 ...
- web 漏洞入门之 —— SQL 注入教程
SQL 注入是最常见.最被人们熟知的 web 漏洞.根据百科的解释:所谓SQL注入,就是通过把SQL命令,插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. ...
- 反引号注入_什么是 SQL 注入?
(给ImportNew加星标,提高Java技能) 转自:Java程序员联盟 文章目录: 何谓SQL注入? SQL数据库操作示例 SQL数据库注入示例 如何防止SQL注入问题 SQL数据库反注入示例 何 ...
- sql注入及mybatis防止sql注入
一.Sql 注入漏洞详解 Sql 注入产生原因及威胁: 当我们访问动态网页时, Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句.这种网站内部直接发送的Sql ...
- SQL注入-01-什么是SQL注入?
什么是SQL注入? 1.正常的web端口访问 正常访问是web传入程序设计者所希望的参数值,由程序查询数据库完成处理后,呈现结果页面给用户. 2.SQL注入是如何访问? (1)SQL注入也是正常的we ...
最新文章
- 交换机运维需要注意哪些问题,让我们一起来闲聊下
- 集合总结(Collection)
- 知识点:Mysql 数据库索引优化实战(4)
- cvpr 注意力机制_视频人员重识别:关系引导空间注意力 + 时间特征提取模型
- python3.7输出语句_python3.4用循环往mysql5.7中写数据并输出的实现方法
- Xtrabackup--InnoDB备份工具介绍(1)
- 2020-08-22 每日一句
- namenode倒换原因分析
- 什么是企业用户画像,怎么构建企业用户画像
- Cisco Packet Tracer路由器ip简单配置(网关)
- 往word表中写数据
- 触摸板失效,fn快捷键不显示,神舟control center3.0无法打开等问题重装驱动
- 【电力电子技术】 THE BUCK-BOOST 升降压斩波电路
- 知云文献翻译打不开_还在为论文翻译烦恼吗?点进来帮您解决
- 集合的简单实现(斗地主牌的实现 )
- python中如何将一个数字分解成一个列表
- oracle求字段中指定字符串出现个数
- php接口接收json数据
- 360路由器远程连接服务器,“怎样用动态域名实现路由器的远程配置”的解决方案...
- MySQL 到Oracle 实时数据同步实操分享