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(PHP: Hypertext Preprocessor)即"超文本预处理器",是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中.
PHP特点:
PHP是一个受众大并且拥有众多开发者的开源软件项目,Linux ◆ Nginx ◆ Mysql ◆ PHP是它的经典安装部署方式,相关的软件全部都是开源免费的,所以使用PHP可以节约大量的正版授权费用.
不过PHP作为一个开源软件,它缺乏大型科技公司的支持背景,网络上对它的唱衰也是经久不衰,不过它的持续迭代和性能持续增强的现实却是鼓舞人心的,PHP社区用实际行动给予各种质疑强有力的回击.
它是一个发送邮件网页的后端,它获取用户输入的电子邮箱地址然后发送信息.
这个没办法解释,这里面 除了前面几行,其他的判断跟执行都是调用的方法,这个方法是别人写的,没办法知道返回的是什么
if ( ! defined( 'ABSPATH' ) ) {
exit;
上面这个的意思是, 如果没有定义 'ABSPATH'这个常量,则程序不再往下执行,
get_header(); ?这个看字面意思是获取网页的头部的部分
但是这些都只能是猜测,如果要知道其他的,得有方法函数的代码
整个代码是用来过滤恶意注入的.
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是什么意思相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!