这段php代码什么意思(php到底是什么)

  • 1、这段PHP代码啥意思
  • 2、这段PHP代码是什么意思呢?
  • 3、这段php代码的意思?

是段数据库查询代码,DB::fetch_all是DB类调用fetch_all方法,获取符合条件的所有纪录。DB::table就是DB类调用table方法获取响应的表名,后面where语句就是where条件。简单来说就是这样的$inputs=DB::fetch_all(“select * from `表名` where 条件 order by input_id”);

?php

//判断扩展 mysql 不存在 而 扩展 mysqli 存在的话

if(!function_exists(‘mysql_query’) AND function_exists(‘mysqli_query’))

{

    //定义函数 mysql_query,使用 mysqli_query 作替代

    function mysql_query($query, $link)

    {

        return mysqli_query($link, $query);

    }

}

这段代码的意思是,当 mysql 扩展不存在而且 mysqli 扩展存在 的时候, 仍然希望使用 mysql_query 这个函数来代替 mysqli_query 来保持代码的兼容。

But:

现在来说的话,还是使用 PDO 来操作数据库吧。

整个代码是用来过滤恶意注入的。

if(isset($_REQUEST[‘GLOBALS’]) || isset($_FILES[‘GLOBALS’])) exit(‘Request Denied’);

这一行是发现有恶意的全局变量提交上来就拦截。

@set_magic_quotes_runtime(0);

$MQG = get_magic_quotes_gpc();

这里是读取系统环境变量

foreach(array(‘_POST’, ‘_GET’, ‘_COOKIE’) as $__R) {

这个是新建一个数组,三个值就在上面了。

if(isset($$__R)) {

foreach($$__R as $__k = $__v) {

if(isset($$__k) $$__k == $__v) unset($$__k);

}

估计难的就是这里吧。。$__R 在第一次循环时,值是 _POST 前面再加一个 $ 即 $_POST

如果 $_POST 已经赋值,这个有点多余,因为这是内置变量,一定存在的。

之后把 $$__R 分别看成 $_POST $_GET 啥的即可,拆分 $_POST 每个值到 $__V 里,索引存到 $__K 里。如果有 $_POST[‘a’] = ‘b’; 那 $__K 就是 a ,$__V 就是 b。下面是同样的意思。

如果 $($__K) 即 $a 已经存在,并且这个变量的值和现在 POST 过来的值相同,就把原来的变量注销掉。只保留 POST 过来的那个变量。

也就是说,如果代码原来有 $a=’b’ 现在又提交了一个 $_POST[‘a’]=’b’; 现在就删掉原来的 $a 保留 POST 的那个。这是用于别人已经成功注入的情况下,可以把他们已经注入的变量干掉。

if(!$MQG)$$__R = daddslashes($$__R);

上面这个是检查环境变量,魔法引号是否开启,如果没有开启的话,过滤整个 $_POST(GET COOKIE)

$$__R = strip_sql($$__R);

$$__R = dsafe($$__R);

上面这两个是自定义过滤,看样子是过滤 SQL 注入啥的。原理同上。

}

}

原创文章,作者:FX6B0,如若转载,请注明出处:https://www.506064.com/n/126694.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
FX6B0的头像FX6B0
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • 怎么写不影响Python运行的长段代码

    在Python编程的过程中,我们不可避免地需要编写一些长段代码,包括函数、类、复杂的控制语句等等。在编写这些代码时,我们需要考虑代码可读性、易用性以及对Python运行性能的影响。…

    编程 2025-04-29
  • Python海龟代码简单画图

    本文将介绍如何使用Python的海龟库进行简单画图,并提供相关示例代码。 一、基础用法 使用Python的海龟库,我们可以控制一个小海龟在窗口中移动,并利用它的“画笔”在窗口中绘制…

    编程 2025-04-29
  • Python爱心代码动态

    本文将从多个方面详细阐述Python爱心代码动态,包括实现基本原理、应用场景、代码示例等。 一、实现基本原理 Python爱心代码动态使用turtle模块实现。在绘制一个心形的基础…

    编程 2025-04-29

发表回复

登录后才能评论