注入漏洞代码和分析

先上代码

<?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注入漏洞代码相关推荐

  1. 漏洞篇(SQL注入一)

    目录 一.sql 注入概述 1.SQL 注入原理 2.SQL 注入的分类 二.部署 sqli-labs 学习环境 1.SQLI-LABS 简介 2.部署 SQLI-LABS 实验环境 三.SQLI-L ...

  2. 基于pikachu漏洞平台的 --SQL注入攻击学习与总结

    SQL注入攻击 基础知识 常见注释符号 使用示例 pikachu 漏洞联系平台 -- SQL注入 SQL注入攻击流程 注入点类型 数字型注入(POST) 字符型注入(GET) 搜索型注入 XX型注入 ...

  3. 漏洞系列之——SQL注入

    了解SQL注入 漏洞描述 漏洞等级 漏洞危害 漏洞检测方法 漏洞利用方法 漏洞修复方案 SQL注入靶场环境可以参考"热门靶场怕坑练习"的sqli-labs 漏洞描述 SQL注入是网 ...

  4. 漏洞挖掘之 SQL 注入挖掘

    一.SRC行业安全测试规范 注入漏洞,只要证明可以读取数据就行,严禁读取表内数据.对于UPDATE. DELETE.INSERT等注入类型,不允许使用自动化工具进行测试.​ ​[TPSA19-22]S ...

  5. 【SQL注入漏洞-01】SQL注入漏洞原理及分类

    SQL注入简介 结构化查询语言(Structured Query Language,缩写︰SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言. SQL注入(SQL Injection)是一 ...

  6. web漏洞开始,sql注入

    第十一天,web漏洞必懂知识点 这个图里面,右边的漏洞比左边的漏洞相对重要,因为在实战过程中,左边所产生的漏洞就比较少,我们学习网络安全呢就要做到他们的这些原理和危害. 比如sql注入漏洞是网站数据库 ...

  7. web 漏洞入门之 —— SQL 注入教程

    SQL 注入是最常见.最被人们熟知的 web 漏洞.根据百科的解释:所谓SQL注入,就是通过把SQL命令,插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. ...

  8. 反引号注入_什么是 SQL 注入?

    (给ImportNew加星标,提高Java技能) 转自:Java程序员联盟 文章目录: 何谓SQL注入? SQL数据库操作示例 SQL数据库注入示例 如何防止SQL注入问题 SQL数据库反注入示例 何 ...

  9. sql注入及mybatis防止sql注入

    一.Sql 注入漏洞详解 Sql 注入产生原因及威胁: 当我们访问动态网页时, Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句.这种网站内部直接发送的Sql ...

  10. SQL注入-01-什么是SQL注入?

    什么是SQL注入? 1.正常的web端口访问 正常访问是web传入程序设计者所希望的参数值,由程序查询数据库完成处理后,呈现结果页面给用户. 2.SQL注入是如何访问? (1)SQL注入也是正常的we ...

最新文章

  1. 交换机运维需要注意哪些问题,让我们一起来闲聊下
  2. 集合总结(Collection)
  3. 知识点:Mysql 数据库索引优化实战(4)
  4. cvpr 注意力机制_视频人员重识别:关系引导空间注意力 + 时间特征提取模型
  5. python3.7输出语句_python3.4用循环往mysql5.7中写数据并输出的实现方法
  6. Xtrabackup--InnoDB备份工具介绍(1)
  7. 2020-08-22 每日一句
  8. namenode倒换原因分析
  9. 什么是企业用户画像,怎么构建企业用户画像
  10. Cisco Packet Tracer路由器ip简单配置(网关)
  11. 往word表中写数据
  12. 触摸板失效,fn快捷键不显示,神舟control center3.0无法打开等问题重装驱动
  13. 【电力电子技术】 THE BUCK-BOOST 升降压斩波电路
  14. 知云文献翻译打不开_还在为论文翻译烦恼吗?点进来帮您解决
  15. 集合的简单实现(斗地主牌的实现 )
  16. python中如何将一个数字分解成一个列表
  17. oracle求字段中指定字符串出现个数
  18. php接口接收json数据
  19. 360路由器远程连接服务器,“怎样用动态域名实现路由器的远程配置”的解决方案...
  20. MySQL 到Oracle 实时数据同步实操分享

热门文章

  1. Android开发指南(42) —— Adding Custom Suggestions
  2. MySQL实战课程---通过录像手把手带您学会当前互联网流行架构
  3. JavaWeb显示器
  4. 等值数目-------2012年12月26日
  5. Ancient China Story of Shen-《Kung Fu Panda 2》
  6. 如何找出SQL中的重复记录
  7. ucore-lab1-练习6report
  8. Wcf 双工通信的应用
  9. Scala 学习笔记(2)
  10. socket inet_pton