CTF代码学习日记PHP
- 互联网
- 2025-08-23 11:36:02

基础
2字符串连接可以使用点号(.)
3.$_:在 PHP 中,以$_开头的变量(如$_GET、$_POST、$_COOKIE等)是超级全局变量。超级全局变量的特点是它们在 PHP 脚本的任何地方(包括函数内部、类内部等)都可以访问,不需要使用global关键字来声明其可访问性。这些变量主要用于获取来自不同数据源的用户输入或者服务器环境相关信息。
例如:$_SERVER
用途:包含了服务器和执行环境相关的信息。例如,$_SERVER['SERVER_NAME']可以获取服务器的名称,$_SERVER['REQUEST_METHOD']可以获取当前请求的方法(如 GET、POST 等),$_SERVER['REMOTE_ADDR']可以获取客户端(用户)的 IP 地址。$_GET:从GET变量中获取name和age的值
$name = $_GET['name']; $age = $_GET['age'];$_POST : 使用下面语句来获取利用POST方法提交的表单数据
$username = $_POST['username']; $password = $_POST['password'];4.@的用法:
错误抑制运算符
在 PHP 中,@是错误抑制运算符。它用于抑制表达式可能产生的错误信息。当在一个表达式之前放置@时,PHP 会隐藏这个表达式执行过程中产生的大多数错误信息(包括警告、通知和错误),使得脚本能够继续执行,而不会因为这些错误而中断。
使用场景:
当调用一个可能会产生错误的函数时,也可以使用@来抑制错误。比如,在使用mysql_connect(旧的 MySQL 函数,不推荐使用,但用于示例)连接数据库时,如果数据库服务器不可用或者连接参数错误,会产生错误信息。
<?php $conn = @mysql_connect("wrong_host", "user", "password"); if ($conn) { // 连接成功后的操作 mysql_close($conn); } else { // 连接失败后的操作,没有显示错误信息 echo "数据库连接失败。"; } ?>这里使用@抑制了mysql_connect函数可能产生的错误信息,同样可以通过检查$conn的值来判断连接是否成功,然后进行后续操作。
无法抑制所有错误:@并不能抑制所有类型的错误。例如,语法错误、致命错误(如内存耗尽等)和解析错误等是无法被@抑制的,因为这些错误会导致 PHP 脚本在执行到这些错误点之前就无法正常解析或者运行。
file_put_contents1.file_put_contents("./upload".$this->filename,$this->content)
实现文件写入,将content内容写入路径为./upload文件名为filename的文件
路径特殊符号./ 表示当前目录(相对路径表示方式)-----如果在命令行中执行 ./program.exe,意味着要在当前目录下查找并运行名为 program.exe 的可执行文件。
.. 表示上级目录(相对路径)-----若当前目录是 /home/user/documents,要访问 documents 的上级目录 user 中的某个文件,可以使用 ../file.txt。
~ 表示当前用户的主目录-----~/.bashrc表示当前用户主目录下的隐藏文件.bashrc。在命令行中,用户可以直接使用~来进入自己的主目录,而不需要输入完整的路径。
关于phpinfo做题的时候总是要查看phpinfo里头的内容,每次都不知所云,还是整理一下吧
什么叫本地值和主值:
主值就是全局默认的值,一般在php.ini里面设置,如果没有本地值就默认是主值,本地值就只能适用当前的目录或者文件
这里是php的核心配置:
allow_url_fopen:允许使用类似fopen()函数打开 URL 形式的文件路径。allow_url_include:不允许通过include、require等函数包含远程 URL 文件。arg_separator.input: “&”指定了在 PHP 中解析输入变量时使用的参数分隔符。arg_separator.output:&,用于设置输出变量时的参数分隔符。auto_append_file:这表示每个 PHP 脚本执行结束后,会自动包含名为 “d0g3_f1ag.php” 的文件。【这个用的好像还挺多的】auto_globals_jit:本地值和主值均为 “On”,开启了自动全局变量即时编译功能。
CTF代码学习日记PHP由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“CTF代码学习日记PHP”