热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

本文目录一览:1、这段PHP代码啥意思2、这段

本文目录一览:


  • 1、这段PHP代码啥意思


  • 2、这段PHP代码是什么意思呢?


  • 3、这段php代码的意思?

这段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代码是什么意思呢?

?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 来操作数据库吧。

这段php代码的意思?

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

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 注入啥的。原理同上。

}

}


推荐阅读
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
  • PHP中的curl_multi系列函数可以实现同时请求多个URL来实现并发,而不是像普通curl函数那样请求后会阻塞,直到结果返回才进行下一个请求。因此在批量请求URL时可通过curl_multi系列函数提升程序的运行效率。curl普通请求$startT ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了如何使用OpenXML按页码访问文档内容,以及在处理分页符和XML元素时的一些挑战。同时,还讨论了基于页面的引用框架的局限性和超越基于页面的引用框架的方法。最后,给出了一个使用C#的示例代码来按页码访问OpenXML内容的方法。 ... [详细]
author-avatar
物之美者,招摇之桂
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有