[后端代码审计] PHP 基础学习

发布于:2024-08-11 ⋅ 阅读:(35) ⋅ 点赞:(0)

前言

​ PHP(Hypertext Preprocessor)是一种开源的脚本语言,主要用于Web开发,特别是服务器端编程。是学习网络安全需要掌握的一门语言。

​ PHP常用于开发内容管理系统(CMS)、电子商务网站、论坛系统等,而且与JavaScript、jQuery和其他前端技术结合得非常好,能够构建完整的Web应用程序。

1. 基础语法

php特点:

  • 在php文件中,可以与html和JS混写
  • 使用<?php ?>将php语句括起来。
  • php模式之外的内容会被作为字符输出到浏览器。
<?php
	phpinfo();
?>
<h1>111</h1>
<script>console.log("111")</script>

1 .1 注释

// 单行注释
/*
多行注释1
多行注释2
*/

1 .2 分隔符

分割符使用;,表示一句话结束。

2. 变量与常量

2 .1 变量

​ 变量是用于临时存储值的容器,可以通过变量名访问到变量值。

PHP脚本语言是一种弱数据类型语言,常量或变量的数据类型由程序的上下文决定,给予一个变量赋予什么样的值,就是什么数据类型。

2 . 1 .1 变量定义

​ 变量命名:变量名严格区分大小写,变量名由字母、数字、下划线组成,并且不能以数字开头

$a
$A
$_a

​ 变量赋值:直接赋值。

$username = "dai";
echo $username;
2 . 1 .2 变量释放

​ 使用unset()方法释放变量。

$username = "dai";
echo $username;
//释放
unset($username);
echo $username;

2 .2 常量

​ 常量一旦被定义,就不能被更改或取消定义,作用域为全局。

2 . 2 .1 常量定义

​ 常量的命名与变量相似,常量标识符总是大写的,变量一般是$开头。

define("USERNMAE","Dai");
echo USERNAME;
2 . 2 .2 预定义常量

​ 已经定义好,可以直接使用的常量。

常量名 值说明
__ FILE __ 当前的文件名,完整的路径
__ LINE __ 当前行号
__ FUNCTION __ 当前函数名
__ CLASS __ 当前类名
__ METHOD __ 当前对象的方法名
PHP_OS 操作系统类型
PHP_VERSION PHP版本
DIRECTORY_SEPARATOR 目录的分隔符

3. 运算符

3. 1 算数运算符

用法 名称 说明
-$a 取反 取$a的相反数
$a + $b 求和
$a - $b 求差
$a * $ b 求积
$a / $b 求商
$a % $b 取余 取余
++ $a 先加 先加一再取值
– $a 先减 先减一再取值
$a ++ 后加 先取值再加一
$a – 后减 先取值再减一

3 .2 字符串运算符

​ 字符串运算符主要用于字符串拼接。使用.作为连接运算符。

<?php
$name = "dai";
$str = "Hello,".$name;
var_dump($str);
?>

3 .3 赋值运算符

​ 将右边表达式的值赋值给左边变量。

赋值运算符
=
+=
-=
*=
/=
%=
.=

3 .4 比较运算符

​ 对操作数进行比较,返回布尔值。

用法 说明
$a == $b 等于
$a === $b 全等
$a != $b 不等
$a <> $b 不等
$a !== $b 不全等
$a < $b 小于
$a > $b 大于
$a <= $b 小于等于
$a >= $b 大于等于

在PHP中,使用echo输出布尔值,true页面打印1,false页面不输出。如果想要输出可以使用var_dump()

3 .5 逻辑运算符

用法 说明
$a and b < b r > b<br> b<br>a && $b 与运算
$a or b < b r > b<br> b<br>a || $b 或运算
$a xor $b 异或运算
!$a 非运算

3 .6 其他运算符

<?php
$a = 10;
$b = 20;
// 赋值判断运算符
$max = $a > $b ? $a : $b;
// 反引号``,自动适配系统命令
$cmd = "whoami";
echo "<pre>".`$cmd`;
// @ 屏蔽表达式可能发生的错误
echo @username;
?>

4. 流程控制

4 .1 顺序执行

​ 自上而下地执行,PHP语句的默认执行过程。

echo 1;
echo 2;
echo 3;

4 .2 分支执行

​ 分支执行可以根据表达式的值是否为TRUE来选择执行代码,主要通过 ifswitch 来执行。

4 . 2 .1 if条件控制执行
<?php
if(判断语句1){
	执行语句1;
}elseif(判断语句2){
    执行语句2;
}else{
    最后执行语句;
}
?>
4 . 2 .2 switch语句
<?php
    switch(变量){
        case1:
            执行语句1;
            break;
        case2:
            执行语句2;
            break;
        case3:
            执行语句3;
            break;
        default:
            
    }
?>

4 .3 循环执行

​ 重复执行某些操作。

4 . 3 .1 while语句
<?php
    while(条件){
        循环执行语句;
    }
?>
4 . 3 .2 do while 语句

​ 与while语句不同的是检查时间的不同。

<?php
    do{
        循环执行条件;
    }while(条件)
?>
4 . 3 .3 for 循环语句
<?php
    for(计数器;判断条件;自增或自减){
        循环执行条件;
    }
?>

4 .4 特殊执行

exit,用于退出整个PHP脚本

<?php
    echo 1;
	exit;
	echo 2;
?>