php基础

web应用,客户端(浏览器) -》服务器。服务器提供必要的应用服务,客户端通过请求服务器中的资源来获得自己想要的服务。

常见的web服务应用框架:

windows+IIS+sql server/access+asp/aspx    解释器:.net

linux + apache/nginx+mysql+php    解释器:php

linux/unix/windows + tomcat/weblogic + oracle +jsp 解释器:java



操作系统 + 中间件 + 数据库

中间件、web容器、web服务器:脚本语言在中间件中执行

我们的web语言运行的必要条件就是中间件能够解析。

gettest.php 因为是php后缀,所以中间件能够解析,解析过后就能使用脚本页面中的扩展功能。



web根目录--指的就是提供web服务目录中的最顶层目录。根目录在url中表示是服务器地址后面的/ ,比如http://127.0.0.1/。

phpstudy的根目录在c:phpstudywww,换句话说,只有在根目录下的文件资源才是服务器能对外提供的资源,才能被外界访问。

任何服务器中的应用资源都是放在web根目录下供用户访问。

http://127.0.0.1/test/test.php

C:phpstudyWWW est est.php  ---- 文件的绝对路径



从安全的角度来说,需要寻找主动可控的点。对于可控点来说,最重要实际就是变量和函数。攻击者通过控制变量进入高危函数中,形成安全威胁。



变量实质上是一种存储器,它不是一个值,是很多个不停变化值的集合,并且实时更新。使用者指定它是什么它就是什么。

php中,声明变量的符号是$。$后面的字符就是变量名。



函数指的是一种计算规则,变量被放在函数中进行计算,会根据函数的计算方法得出对应结果。php中函数的特征是字符后面跟一对圆括号(),比如system(),就叫system函数。

函数在使用的时候有一些必要条件,变量必需满足函数计算所必需的个数,数据类型等才能实现。



字符类型,指的是我们php代码中的字符形式,字符类型关系到函数计算以及代码运行。

php中的数据类型:

1、整数 int

2、字符串 str

3、浮点数/小数  float

4、数组 array  ---数组就是集合,用方括号[]

5、布尔值  boolean   ---true/false 1/0 success/fail

6、对象 obj

7、空值 null





$_GET['a']解释:

$_GET是一个变量,变量名是_GET,$_GET的数据类型是数组,'a'是数组中的一个键。



```
array(1,2,'3')
```

1,2,'3'是数组中的值,每个值都有一个对应的键对它进行索引匹配。没有声明键的数组,默认按照0,1,2...的顺序进行键值配对。

$a = array(1,2,'3'); 如果只想取出2这个值,应该怎么表达?

php中使用中括号来取得中括号内中键所对应的值,$a[1]结果就是2



PHP弱类型漏洞,==和===的区别:

1、==判断值,不判断数据类型

2、===类型和值都要判断



文件操作函数:对文件的读取,写入,PHP中主流有两种

1、fopen() fwrite()fclose()

2、file_put_content()  file_get_content()

使用fopen()打开了一条文件流通道,我们的读写的数据都在通道中,当读写完之后,就要使用fclose()关闭



监控日志的绑定可以参考php配置。

原文地址:https://www.cnblogs.com/gx991010/p/12980604.html