2024-11-21-PHPBaseFun
十一月 21, 2024
PHP的一些基础函数记录
由于不常用PHP写项目,在CTF WEB 方向中经常使用PHP的各种函数,使用过程中经常忘记用法甚至陌生,导致源码审计收到阻碍,故在此记录一些PHP的常用函数。
json_decode()
用于将 JSON 格式的字符串转换为 PHP 变量。通常用于从 JSON 数据中解析出数组或对象,以便在 PHP 中进一步处理。
1 | json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0): mixed |
- $json (string):要解码的 JSON 字符串。
- $assoc (bool):如果设为
true
,返回关联数组;如果设为false
(默认值),返回对象。 - $depth (int):设置递归的最大深度,默认是 512。
- $options (int):设置解码选项,常用的值有
JSON_BIGINT_AS_STRING
等。
example:
1 | $json = '{"person": {"name": "John", "age": 30}, "address": "New York"}'; |
isset()
用于检查一个变量是否已经被设置并且值不为 NULL
。它返回一个布尔值,true
表示变量已被设置并且不是 NULL
,否则返回 false
。
1 | isset(mixed $var, mixed ...$vars): bool |
- $var:需要检查的变量。
- $vars:可选的,检查多个变量。
ini_set
函数用于设置 PHP 配置选项,允许你在运行时修改 PHP 配置值。
1 | ini_set(string $varname, string $newvalue): string|false |
$varname
:配置选项的名称(例如:display_errors
、max_execution_time
)。$newvalue
:设置的新值。
example:
1 | ini_set("allow_url_include","on"); // 设置allow_url_include为打开 |
作用:允许 PHP 通过 URL 引入文件。
header()
函数用于发送原始 HTTP 头信息。可以通过它来设置响应头,例如重定向、设置内容类型、缓存控制等。
规则:header()
函数必须在输出任何内容之前调用。
$header
:要发送的 HTTP 头信息。$replace
:如果为true
,则替换掉已存在的相同头;如果为false
,则不会替换。$response_code
:设置响应的 HTTP 状态码。
1 | header(string $header, bool $replace = true, int $response_code = 0): void |
example:
1 | header("Content-type: text/html; charset=utf-8"); |
查看评论