C11第十六周

36 阅读3分钟

1、安装最新版phpstudy集成工具并创建一个网站,编写php代码输出网站信息(phpinfo)

1.在桌面创建一个web的文件夹,修改小皮根目录为web源码存放的目录

5

2.在vscode中编写php代码输出网站信息(phpinfo)

7 6

2、安装vscode,并安装php开发插件、汉化插件、xdebug等插件

1.汉化插件(安装完成之后,重启vscode即可生效)

1

2.php调试插件

安装下列插件

2

配置Open PHP/HTML/JS In Browser插件(第二个设置为调试网站根路径)

3

3.Xdebug插件

既可以参考xdebug.org/wizard官⽹安装,…

4

3、配置phpstudy集成工具xdebug扩展,并使用vscode对php代码进行调试。

使用phpstudy配置xdebug插件,会有⼀点点bug,需要⼿动修改php.ini,加⼊下面配置项并重启apache

修改php.ini文件(【设置】> 【配置文件】> 选择对应的php版本)

Xdebug v2.x.x:

[Xdebug]
..............
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

Xdebug v3.x.x:

zend_extension = xdebug
xdebug.mode=debug,develop
xdebug.start_with_request=yes
8
  • 配置完成

    11
9

超时配置

后续将使⽤phpstudy进行php代码审计,为了防止出现超时问题,可以提前设置好相关参数,在下面文件末尾加上相关参数

D:\phpstudy_pro\Extensions\Apache2.4.39\conf\httpd.conf

KeepAliveTimeout 50000
MaxKeepAliveRequests 100000
Timeout 600000

FcgidIOTimeout 36000
FcgidIdleTimeout 36000
IPCConnectTimeout 36000
IPCCommTimeout 36000

在软件管理->对应php版本->PHP设置 修改执行超时时间

10

4、编写php代码实现文件上传功能

创建文件上传表单(form.html)

12

创建上传脚本(upload_file.php)

13 16

访问form.html进行文件上传

14

上传成功

15

5、请概述cookie和session的区别和联系

区别:

特性CookieSession
存储位置客户端 (浏览器)服务器端 (内存、文件、数据库)
数据类型文本 (键值对)可以是任意对象 (取决于服务器语言)
数据内容直接存储数据本身 (可能编码/加密)存储用户状态数据,客户端只存储 Session ID
存储大小很小 (约 4KB / 域名,数量有限)较大 (理论上只受服务器限制)
安全性较低 (用户可见/可修改,需安全属性保护)较高 (敏感数据在服务器,仅 ID 在客户端传输)
生命周期可设置 (会话级或持久性过期时间)通常会话级 (浏览器关闭或超时失效)
资源开销客户端承担存储服务器承担存储和管理开销
传输方式通过 HTTP 头 (Cookie, Set-Cookie)Session ID 通过 Cookie 或 URL 传递,数据在服务器
主要目的客户端存储少量非敏感信息/传递 Session ID服务器端存储用户会话状态

联系:

  • 服务端通过Set-Cookie将Session ID发送到客户端,后续请求中浏览器通过Cookie自动携带该ID,服务端据此识别用户。
  • 都是为了解决 HTTP 协议无状态的问题,实现跨请求的用户状态跟踪和个性化体验。