Login
网站首页 > 文章中心 > 其它

麻烦帮解释下这段php代码

作者:小编 更新时间:2023-08-01 11:16:56 浏览量:339人看过

帮我解释一下这段PHP的代码,新人不太明白

分成二部分看

function make_safe($variable)

{$variable = addslashes(trim($variable));

return $variable;}

是一个函数 作用是将$variable中的单引号之类的特殊符号加上'\'进行转义,是简单的安全过滤

$y0=make_safe($_REQUEST["y0"]);

$x=make_safe($_REQUEST["x"]);

$y=make_safe($_REQUEST["y"]);

if ($y0 != "")

{switch($y0){case "+":$daan =$y+$x;

break;case "-":$daan =$y-$x;

break;case "*":$daan =$y*$x;

break;case "/":$daan =$y/$x;

break;default:}

echo $y.$y0.$x."=".$daan;}

帮我解释下这段PHP代码的意思

$lev=0;循环中第一次运行的代码,以后不再运行

","."的意思相当于JAVASCRIPT中的+或者VB中的.这条语句的意思也就是说,把空格追加到变量$level_nbsp后面

麻烦帮解释下这段PHP代码 是什么意思 谢谢!

就是写出你朋友的数量和各个名字,你运行一次就知道了.

你的朋友是:"Robert Barwell", "Mike Parry", "Jeremy Beacock"

数量是friendNames.Length

这段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代码谢谢!

php

if($item['q_content']){

//检查数组变量$item['q_content']是否存在

? ? ? ? $item_q_content = unserialize($item['q_content']);//用 unserialize() 还原已经序列化的对象

? ? ? ? $keysvalue = $new_array = array();//声明数组变量

? ? ? ? foreach($item_q_content as $k=$v){

//将$item_q_content循环,由此可以断定它是个数组

? ? ? ? ? ? $keysvalue[$k] = $v['time'];//将 $item_q_content中的time键值复制到新变量$keysvalue中去(结合下面的代码,这赋值一点意义都没有,你要的只是键值而已)

? ? ? ? ? ? $h=date("H",$v['time']);//取得小时

? ? ? ? ? ? $i=date("i",$v['time']);//取得分钟

? ? ? ? ? ? $s=date("s",$v['time']);//取得秒

? ? ? ? ? ? list($timesss,$msss) = explode(".",$v['time']);//用.字符串分割$v['time']

? ? ? ? ? ? $item_q_content[$k]['timeadd'] = $h.$i.$s.$msss;//重新赋值$item_q_content,并建立一个多维数组

? ? ? ? arsort($keysvalue); ? ?//asort($keysvalue);正序

? ? ? ? reset($keysvalue);//将 array 的内部指针倒回到第一个单元

? ? ? ? foreach ($keysvalue as $k=$v){

//遍历$keysvalue,得到$k,也就是键值

? ? ? ? ? ? $new_array[$k] = $item_q_content[$k];//取得变量$item_q_content中键值的值,并且重新赋值给新变量$new_array

? ? ? ? }

? ? ? ? $item['q_content'] = $new_array;//赋值

? ? }

以上就是土嘎嘎小编为大家整理的麻烦帮解释下这段php代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章