首页 后端开发 php教程 php 防注入_PHP

php 防注入_PHP

Jun 01, 2016 pm 12:25 PM
注入

CODE
  1. <?php
  2. /*************************
  3. 说明:
  4. 判断传递的变量中是否含有非法字符
  5. 如$_POST、$_GET
  6. 功能:
  7. 防注入
  8. **************************/
  9. //要过滤的非法字符
  10. $ArrFiltrate=array("'",";","union");
  11. //出错后要跳转的url,不填则默认前一页
  12. $StrGoUrl="";
  13. //是否存在数组中的值
  14. function FunStringExist($StrFiltrate,$ArrFiltrate){
  15. foreach ($ArrFiltrate as $key=>$value){
  16.    if (eregi($value,$StrFiltrate)){
  17.        return true;
  18.    }
  19.  }
  20. return false;
  21. }
  22. //合并$_POST 和 $_GET
  23. if(function_exists(array_merge)){
  24.    $ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
  25. }else{
  26.    foreach($HTTP_POST_VARS as $key=>$value){
  27.        $ArrPostAndGet[]=$value;
  28.    }
  29.    foreach($HTTP_GET_VARS as $key=>$value){
  30.        $ArrPostAndGet[]=$value;
  31.    }
  32. }
  33. //验证开始
  34. foreach($ArrPostAndGet as $key=>$value){
  35.    if (FunStringExist($value,$ArrFiltrate)){
  36.        echo "<script language="javascript">alert("非法字符");</script>";
  37.        if (empty($StrGoUrl)){
  38.        echo "<script language="javascript">history.go(-1);</script>";
  39.        }else{
  40.        echo "<script language="javascript">window.location="".$StrGoUrl."";</script>";
  41.        }
  42.        exit;
  43.    }
  44. }
  45. ?>

保存为checkpostandget.php
然后在每个php文件前加include(“checkpostandget.php“);即可
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

11个最佳PHP URL缩短脚本(免费和高级) 11个最佳PHP URL缩短脚本(免费和高级) Mar 03, 2025 am 10:49 AM

11个最佳PHP URL缩短脚本(免费和高级)

Instagram API简介 Instagram API简介 Mar 02, 2025 am 09:32 AM

Instagram API简介

在Laravel中使用Flash会话数据 在Laravel中使用Flash会话数据 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash会话数据

构建具有Laravel后端的React应用程序:第2部分,React 构建具有Laravel后端的React应用程序:第2部分,React Mar 04, 2025 am 09:33 AM

构建具有Laravel后端的React应用程序:第2部分,React

简化的HTTP响应在Laravel测试中模拟了 简化的HTTP响应在Laravel测试中模拟了 Mar 12, 2025 pm 05:09 PM

简化的HTTP响应在Laravel测试中模拟了

php中的卷曲:如何在REST API中使用PHP卷曲扩展 php中的卷曲:如何在REST API中使用PHP卷曲扩展 Mar 14, 2025 am 11:42 AM

php中的卷曲:如何在REST API中使用PHP卷曲扩展

在Codecanyon上的12个最佳PHP聊天脚本 在Codecanyon上的12个最佳PHP聊天脚本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12个最佳PHP聊天脚本

Laravel中的通知 Laravel中的通知 Mar 04, 2025 am 09:22 AM

Laravel中的通知

See all articles