引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就想到了通过写博客(课程笔记)的形式去学习它,虽然写博客会让我多花几倍的时间去学习它,但是当我完成一篇博客所获得的成就感和你们对于我的认同感,让我很满足,能够鼓励我一天天的坚持下去,也希望和我一起学习本期视频的"同道"们也能给一直坚持下去。我们大家一起加油。由于作者本身也是网络信息安全小白,大部分知识点都是初次接触,出现对其理解不深入,不完整,甚至也会出现错误有问题的地方,希望大家谅解、留言提出指正,同时也欢迎大家来找我一起交流学习!!!
往期博客:
第一阶段:
[网络安全学习篇1]:windowsxp、windows2003、windows7、windows2008系统部署(千峰网络安全视频笔记)
[网络安全学习篇24]:漏洞与木马(千峰网络安全视频笔记 p117-p118)
第二阶段:
[网络安全学习篇25]:初识Linux及简单命令
[网络安全学习篇32]:Linux脚本编写汇总及应用
第三阶段:
[网络安全学习篇33]:0基础带你入门python
[网络安全学习篇34]:python文件对象对文件内容进行读取和写入
[网络安全学习篇35]:python 模块和函数及异常捕获
[网络安全学习篇36]:python 面向对象编程思想(本篇)
[网络安全学习篇37]:基于面向对象思想的Python爬虫实例
[网络安全学习篇38]:基础环境搭建
[网络安全学习篇39]:HTML标签基础 常用的标签 表格
[网络安全学习篇40]:HTML表单 和 iframe
[网络安全学习篇41]:HTMLCSS
[网络安全学习篇42]:靶场环境搭建(ubuntu系统安装优化及vulhub安装)
[网络安全学习篇43]:PHP基础+变量 运算符 流程控制语句(本篇)
下期博文:
[网路安全学习篇44]:PHP 函数
目录
PHP
Web 原理简述
PHP 基本语法
特点:
指令分隔符 [;]
注释(和C语言类似)
简单的PHP语句
变量
变量的声明
初始化
赋值
变量的命名
可变变量
变量的类型
常量
运算符
算术运算符(见代码)
逻辑运算
比较运算
字符串运算符
赋值运算符
其他运算符
运算符的优先级
PHP 的语法错误
流程控制
顺序执行
分支执行
循环语句
特殊流程控制语句
源码附执行结果
info.php
war.php
$$.php
&$a.php
bool.php
string.php
define.php
ssysf.php(算数运算符)
ljysf.php(逻辑运算符)
bjysf.php(比较运算符)
zfcysf.php(字符串运算符)
qtysf.php(其他运算符)
1.php(顺序)
2.php(单分支)
3.php(双分支)
4.php(多分支elseif)
5.php(多分支switch)
6.php(while)
7.php(do while)
8.php(for)
9.php(break/break2)
10.php(continue)
11.php(exit()/die())
12.php(乘法口诀)
一门编程语言
运行在服务器端
专门用户开发网站的
脚本后缀名.php
与HTML语言进行混编,脚本后缀依然是.php
解释型语言,不要编译直接运行
PHP运行需要环境:
Windows phpstudy
Linux 单独安装
1、打开浏览器
2、输入url
3、显示页面
PHP 语言标记
开始标记
结束标记 ?>
1、这之间就表示进入PHP模式,在开始和结束处之外的内容都会被PHP解析器忽略
2、可以直接嵌入到html代码中,并且可以嵌入到html代码中的任何地方
3、在一个html文档中可以嵌入任意多个PHP标记
4、文件末尾的PHP代码结束标记可以不要,在一些情况下省略掉更好
一个php语句必须(建议)要用分号结束
单行注释 //
多行注释 /* */
注意
php代码中注释,不会显示在浏览器的源代码中
php运行环境是服务器,我们浏览器看到的是PHP 引擎运行PHP代码后的执行结果
1、phpinfo();
2、echo 用于输出简单的变量
3、var_dump(); 用于输出变量值及其变量类型
不需要声明变量,但要初始化
给变量初次赋值,或者变量的默认值
[=]
根据实验说明:PHP脚本是顺序执行的
引用赋值 $c =&$a
相当于给$a起了一个别名,$c值的改变,$a也随之改变
变量的释放
unset()
@以$符号开头
@严格区分大小写
@字母|数字|下划线,不能以数字开头
$name1
$my_name
$_my_name
$1_name 错误
@尽量不要使用php关键字作为变量名
";
echo $hello;//$$name;
?>
布尔类型 两个 true false,其他均会被认为true
以下所有内容会被当做false
- 布尔值false
- 0
- 浮点型0.0
- 空白字符串和字符串0
- 没有成员的数组
- NULL
int 存储整数
float 存储小数 3.14
字符串 string
字符串的定义
@ ’ ‘
@ " "
@ 定界符
注意:
@单引号定义的字符串中出现单引号要转义[\]
@单引号定义的字符串中,[$] 符号原样输出
@双引号定义的字符串中,[$] 是变量的开始,整体变量名用{}括起来
@单双引号定义的字符串中输入的特殊字符包括[',",$...]需要转义
@定界符开始和结束后面不能有任何字符包括空白字符和注释
数组
对象 不讲
不变的量
定义
define("NAME","GGG");
直接使用即可
预定义常量
- 常量名 常量值
- __FILE__ 当前的文件名
- __LINE__ 当前的行数
- __FUNCTION__ 当前的函数名
- __CLASS__ 当前的类名
- __METHOD__ 当前的对象的方法名
- PHP_OS UNIX或WINNT等
- PHP_VERSION 当前的PHP服务器的版本
- DIRECTORY_SEPARATOR \或/ 根据操作系统决定目录的分隔符
非 !
与 and &&
或 or ||
异或 xor 不同为真,相同为假
与运算的优先级高于或运算。
比较参与运算的单元是否相同,相同为真,不同为假
==
===
>
>=
<
4<=
!=
!==
<>
.
=
+=
-=
*=
/=
%=
.=
.
?: 三元运算符
$a = 10 > 20 ? 10 : 20
`` 将字符串当作命令执行
@ 屏蔽提示,警告
Error 结束脚本执行
Warr~ 只提示,不影响执行
Notice 只提示,不影响执行
PHP代码执行的时候,一次顺序执行
单向分支
if(判断条件){执行语句块}
双向分支
if(判断条件){执行语句块1}else{语句块2}
多向分支
elseif
switch
case
default
while
当满足条件时,执行
计数器,变量
判断条件
do while
先执行再判断
for
break; 跳出本层循环
break 2; 跳出两层循环
continue; 跳出本次循环
die()
exit() 结束脚本
This is info.php!
This is the end of info.php!
";
echo "123";
?>
";
echo $name;
echo "
";
unset($name);//释放变量
echo $name;
?>
";
echo $hello;//$$name;
?>
";
$c = &$a;
$c = $c+1;
echo $a;//11
echo "|";
echo $c;//11
?>
";
echo $woman; //echo 输出false时,输出空白。
echo "
";
var_dump($man);
var_dump($woman);
?>
This is DJF['"$%]
HTML;
var_dump($str);
?>
";
echo __FILE__;
echo "
";
echo __LINE__;
echo "
";
echo PHP_VERSION;
echo "
";
echo DIRECTORY_SEPARATOR;
?>
";
$c = $a+$b;
echo $c;
echo "
";
$c = $a-$b;
echo $c;
echo "
";
$c = $a*$b;
echo $c;
echo "
";
$c = $a/$b;
echo $c;
echo "
";
$c = $a%$b;
echo $c;
echo "
";
echo $a++;//先输出,再自增
echo "
";
echo ++$a;//先自增,再输出
?>
";
echo '$a===$b';
var_dump($a === $b);
echo "
";
echo '$a!=$b';
var_dump($a != $b);
echo "
";
echo '$a!==$b';
var_dump($a !== $b);
echo "
";
echo '$a>$g:';
var_dump($a > $g);
echo "
";
echo '$a<$g:';
var_dump($a < $g);
?>
";
echo `whoami`;
echo "
";
echo @$name;
?>
60){
echo "pase";
}
?>
= 60){
echo "pase";
}
else{
echo "sorry";
}
?>
= 90){
echo 'A';
}
elseif($grade >= 80){
echo 'B';
}
elseif($grade >= 70){
echo 'C';
}
elseif($grade >= 60){
echo 'D';
}
else{
echo 'sorry';
}
?>
";
}
?>
";
for($j=0;$j<5;$j++){
echo "j=".$j."
";
if($j==3)
break;
}
}
*/
for($i=0;$i<5;$i++){
echo "i=".$i."
";
for($j=0;$j<5;$j++){
echo "j=".$j."
";
if($j==3)
break 2;
}
}
?>
";
for($j=0;$j<3;$j++){
if($j==0){
echo "passing
";
continue;
}
echo "j=".$j."
";
}
}
?>
";
for($j=0;$j<3;$j++){
if($j==0){
echo "passing
";
//die();
exit("The end !");
}
echo "j=".$j."
";
}
}
?>
";
}
?>
参考文献:
千峰网络视频安全公开课