WEB第二周任务

一.Burp Suite的安装及配置
1.安装Java
2.打开注册机并修改ID
3.复制粘贴
4.完成安装

二.百度抓包
1.通过SwitchyOmega拓展设置代理服务器及端口分别为127.0.0.1,8080
2.打开Burp Suite在Proxy的Options设置中新增代理服务器及端口同上
3.打开SwitchyOmega代理
4.在Proxy的Intercept选项下设置为"Intercept is off"                
5.在Proxy的HTTP history栏下选中百度查看抓包结果

三.PHP学习笔记

PHP语法

1.PHP 脚本以 <?php 开始,以 ?> 结束

<?php // PHP 代码 ?>

2.PHP 中的注释

//是单行注释

/*

是多行注释/*

2.PHP变量

1.变量以 $ 符号开始,后面跟着变量的名称 变量名必须以字母或者下划线字符开始 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ ) 变量名不能包含空格 变量名对大小写敏感($y 和 $Y 是两个不同的变量)

2.PHP 没有声明变量的命令,PHP会根据变量的值自动把变量转换为正确的数据类型

3.PHP 变量作用域

PHP 有四种不同的变量作用域:

  • local

  • global

  • static

  • parameter

局部和全局作用域

全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问

global 关键字用于函数内访问全局变量。

global 关键字:

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字

Static 作用域

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。

要做到这一点,在第一次声明变量时使用 static 关键字

4.PHP echo 和 print 语句

echo 和 print 区别:

  • echo - 可以输出一个或多个字符串

  • print - 只允许输出一个字符串,返回值总为 1

  • 输出的速度比 print 快, echo 没有返回值,print有返回值1。

5.PHP EOF(heredoc) 使用说明

  • \1. 必须后接分号,否则编译通不过。

  • \2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。

  • 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。

  • \4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。

  • \5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。

实例

<?php echo *<<<EOF

<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>

EOF*; // 结束需要独立一行且前后不能空格 ?>

1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。

2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。

3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 ., 来拼接,如下:

实例

<?php $name="runoob"; $a= <<<EOF "abc"$name "123" EOF; // 结束需要独立一行且前后不能空格 echo $a; ?>

6.PHP 数据类型

PHP 变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。

PHP 支持以下几种数据类型:

  • String(字符串)

  • Integer(整型)

  • Float(浮点型)

  • Boolean(布尔型)

  • Array(数组)

  • Object(对象)

  • NULL(空值)

  • Resource(资源类型)

PHP 字符串

一个字符串是一串字符的序列,就像 "Hello world!"。

PHP 整型

整数是一个没有小数的数字。

整数规则:

  • 整数必须至少有一个数字 (0-9)

  • 整数不能包含逗号或空格

  • 整数是没有小数点的

  • 整数可以是正数或负数

  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

PHP 浮点型

浮点数是带小数部分的数字,或是指数形式。

PHP 布尔型

布尔型可以是 TRUE 或 FALSE

$x=true; $y=false;

布尔型通常用于条件判断

PHP 数组

数组可以在一个变量中存 储多个值。

在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:

PHP 对象

对象数据类型也可以用于存储数据。

在 PHP 中,对象必须声明。

首先,必须使用class关键字声明类对象。类是可以包含属性和方法的结构。

PHP NULL 值

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。

NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。

可以通过设置变量值为 NULL 来清空变量数据:

实例

<?php $x="Hello world!"; $x=null; var_dump($x); ?>

PHP 资源类型

PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。

常见资源数据类型有打开文件、数据库连接、图形画布区域等。

由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

使用 get_resource_type() 函数可以返回资源(resource)类型:

get_resource_type(resource $handle): string

此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 resource,将产生错误。

7.PHP 类型比较

虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。

  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。

例如,"42" 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 "FALSE" 是一个字符串。

实例

<?php if(42 == "42") { echo '1、值相等'; } echo PHP_EOL; // 换行符 if(42 === "42") { echo '2、类型相等'; } else { echo '3、类型不相等'; } ?>

以上实例输出结果为:

1、值相等
3、类型不相等

8.PHP 常量

常量是一个简单值的标识符。该值在脚本中不能改变。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

注意: 常量在整个脚本中都可以使用。

设置 PHP 常量

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。

  • value:必选参数,常量的值。

  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

常量是全局的

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。

9.PHP 字符串变量

字符串变量用于包含有字符的值。

在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。

在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变量的值:

实例

<?php $txt="Hello world!"; echo $txt; ?>

PHP 并置运算符

在 PHP 中,只有一个字符串运算符。

并置运算符 (.) 用于把两个字符串值连接起来。

实例

<?php $txt1="Hello world!"; $txt2="What a nice day!"; echo $txt1 . " " . $txt2; ?>

上面的代码将输出:Hello world! What a nice day!

PHP strlen() 函数

有时知道字符串值的长度是很有用的。

strlen() 函数返回字符串的长度(字节数)。

下面的实例返回字符串 "Hello world!" 的长度:

实例

<?php echo strlen("Hello world!"); ?>

PHP strpos() 函数

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

下面的实例在字符串 "Hello world!" 中查找文本 "world":

实例

<?php echo strpos("Hello world!","world"); ?>

上面的代码将输出:6

10.PHP 算术运算符

 

11.If...Else 语句

PHP 条件语句

  • if 语句 - 在条件成立时执行代码

  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码

  • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块

  • switch 语句 - 在若干条件之一成立时执行一个代码块

PHP - if 语句

if 语句用于仅当指定条件成立时执行代码

语法

if (条件)
{
    条件成立时要执行的代码;
}

PHP - if...else 语句

在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if....else 语句。

语法

if (条件) { 条件成立时执行的代码; } else { *条件不成立时执行的代码; *}

PHP - if...elseif....else 语句

在若干条件之一成立时执行一个代码块,请使用 if....elseif...else 语句。.

语法

if (条件)
{
    if 条件成立时执行的代码;
}
elseif (条件)
{
    elseif 条件成立时执行的代码;
}
else
{
    条件不成立时执行的代码;
}

12.Switch 语句

如果您希望有选择地执行若干代码块之一,使用 switch 语句。

语法

<?php switch (n) { case label1: 如果 n=label1,此处代码将执行; break; case label2: 如果 n=label2,此处代码将执行; break; default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行; } ?>

工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

12.PHP 数组

数组能够在单个变量中存储多个值:

实例

<?php $cars=array("Volvo","BMW","Toyota"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>

在 PHP 中创建数组

在 PHP 中,array() 函数用于创建数组:

array();

在 PHP 中,有三种类型的数组:

  • 数值数组 - 带有数字 ID 键的数组

  • 关联数组 - 带有指定的键的数组,每个键关联一个值

  • 多维数组 - 包含一个或多个数组的数组

PHP 数值数组

这里有两种创建数值数组的方法:

自动分配 ID 键(ID 键总是从 0 开始):

$cars=array("Volvo","BMW","Toyota");

人工分配 ID 键:

$cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="Toyota";

获取数组的长度 - count() 函数

count() 函数用于返回数组的长度(元素的数量)

PHP 关联数组

关联数组是使用您分配给数组的指定的键的数组。

这里有两种创建关联数组的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

or:

$age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43";

遍历关联数组

遍历并打印关联数组中的所有值,可以使用 foreach 循环,如下所示:

实例

<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>

13.PHP - 数组排序函数

在本章中,我们将一一介绍下列 PHP 数组排序函数:

  • sort() - 对数组进行升序排列

  • rsort() - 对数组进行降序排列

  • asort() - 根据关联数组的值,对数组进行升序排列

  • ksort() - 根据关联数组的键,对数组进行升序排列

  • arsort() - 根据关联数组的值,对数组进行降序排列

  • krsort() - 根据关联数组的键,对数组进行降序排列

14.PHP 循环 - While 循环


循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。


PHP 循环

在编写代码时,经常需要让相同的代码块一次又一次地重复运行。可以在代码中使用循环语句来完成这个任务。

在 PHP 中,提供了下列循环语句:

  • while - 只要指定的条件成立,则循环执行代码块

  • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环

  • for - 循环执行代码块指定的次数

  • foreach - 根据数组中每个元素来循环代码块

15.PHP 循环 - For 循环


循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。


for 循环

for 循环用于您预先知道脚本需要运行的次数的情况。

语法

for (初始值; 条件; 增量)
{
    要执行的代码;
}

参数:

  • 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。

  • 条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。

  • 增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。

16.PHP 函数

创建 PHP 函数

函数是通过调用函数来执行的。

语法

<?php function functionName() { // 要执行的代码 } ?>

PHP 函数准则:

  • 函数的名称应该提示出它的功能

  • 函数名称以字母或下划线开头(不能以数字开头)

实例

一个简单的函数,在其被调用时能输出我的名称:

实例

<?php function writeName() { echo "Kai Jim Refsnes"; } echo "My name is "; writeName(); ?>

输出:

My name is Kai Jim Refsnes


PHP 函数 - 添加参数

为了给函数添加更多的功能,我们可以添加参数,参数类似变量。

参数就在函数名称后面的一个括号内指定。

实例 1

下面的实例将输出不同的名字,但姓是相同的:

实例

<?php function writeName($fname) { echo $fname . " Refsnes.<br>"; } echo "My name is "; writeName("Kai Jim"); echo "My sister's name is "; writeName("Hege"); echo "My brother's name is "; writeName("Stale"); ?>

输出:

My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes.
My brother's name is Stale Refsnes.

实例 2

下面的函数有两个参数:

实例

<?php function writeName($fname,$punctuation) { echo $fname . " Refsnes" . $punctuation . "<br>"; } echo "My name is "; writeName("Kai Jim","."); echo "My sister's name is "; writeName("Hege","!"); echo "My brother's name is "; writeName("Ståle","?"); ?>

输出:

My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes!
My brother's name is Ståle Refsnes?

PHP 函数 - 返回值

如需让函数返回一个值,请使用 return 语句。

实例

<?php function add($x,$y) { $total=$x+$y; return $total; } echo "1 + 16 = " . add(1,16); ?>

输出:

1 + 16 = 17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值