1.index.php 的备份文件名通常为index.php.bak
2.PHP2是服务器端脚本语言,主要用于处理和生成网页的内容,当用户访问一个网站时,PHP脚本会在服务器上执行,生成动态的HTML页面,然后将页面发送给用户的浏览器进行显示。
phps 是 PHP 源代码文件的一种特殊扩展名,主要用于展示 PHP 代码本身,而不是让服务器执行代码并输出结果。它的核心作用是安全地分享或查看 PHP 源代码,避免代码被服务器解析执行。
与 .php 文件的核心区别
.php 文件:当被 Web 服务器(如 Apache、Nginx)处理时,服务器会先解析执行文件中的 PHP 代码,只将执行结果(如 HTML、文本等)返回给浏览器。
.phps 文件:默认情况下,服务器会将其作为纯文本文件(或带语法高亮的文本)直接返回,展示代码的原始内容,而不执行其中的 PHP 代码。
用途场景
代码分享 / 展示:开发者需要公开 PHP 源代码(如示例代码、教程片段)时,使用 .phps 可以避免代码被执行,同时让访问者直接看到源码。
调试辅助:在开发环境中,通过 .phps 快速查看某个 PHP 文件的源代码,而不必担心代码中的逻辑(如数据库操作、输出)被意外执行。
4.urldecode是PHP函数,解码经过URL编码的字符串,解码回原始的形式;
5.__wakeup()执行漏洞:一个字符串或对象被序列化后,如果其属性被修改,则不会执行__wakeup()函数,这也是一个绕过点。
6.魔法函数,通常不需要我们手动调用,一般魔法函数是以__开头的,再碰到这几个魔法函数时就好好好想想能不能利用序列化与反序列化漏洞了:
__constuct() 在创建对象是自动调用
__destuct() 相当于c++中的析构最后会将对象销毁,所以在对象销毁时 被调用
__toString() 但一个对象被当成字符串使用时被调用
__sleep() 当对象被序列化之前使用
__wakeup() 将在被序列化后立即被调用
7.strstr 是 PHP 的字符串处理函数,作用是查找字符串中某个子串首次出现的位置,并返回其之后(或之前)的部分。以下是关键用法:
- 基本语法
php
strstr(string $haystack, string $needle, bool $before_needle = false): string|false
$haystack:要搜索的 “大字符串”;
$needle:要查找的 “子串”;
$before_needle:可选参数,默认为 false。若设为 true,返回子串之前的部分(不包含子串本身);若为 false,返回子串之后的部分(包含子串本身);
返回值:找到子串时返回对应部分的字符串,否则返回 false。
mb_substr 是专门处理多字节字符串(如 UTF-8 编码的中文、日文等)的截取函数。
和普通 substr 的区别:substr 按字节数截取(中文 UTF-8 下每个字符占 3 字节,易截乱码);mb_substr 按字符数截取(更适合处理中文、 emoji 等多字节字符)。
mb_strpos 是 PHP 中用于多字节字符串查找的函数,专门解决中文、日文等多字节编码字符串的 “子串位置查找” 问题
9.“Rockstar 语言” 并非传统意义上的自然语言或主流编程语言,而是一种以 “摇滚文化” 为核心设计理念的概念性编程语言(Esoteric Programming Language,小众趣味编程语言) ,其本质是用类似摇滚歌词的风格编写代码,兼具娱乐性和创意表达,而非用于实际软件开发。
一、核心背景:为什么会有 Rockstar 语言?
Rockstar 语言由英国开发者 Dylan Beattie 于 2018 年创建,初衷是为了:
吐槽编程语言的 “晦涩感”:许多编程语言(如 C++、Lisp)的语法对新手不够友好,Rockstar 反其道而行之,用大众熟悉的 “摇滚歌词” 形式降低 “代码的距离感”;
融合摇滚文化与编程:将摇滚中的核心元素(如 “吉他”“鼓点”“英雄”“派对”)作为语法关键词,让代码读起来像一首摇滚歌词,兼具趣味性和传播性;
技术圈的创意展示:最初用于技术会议(如 PyCon)的表演性演讲,后来因独特的设计在程序员社区走红,成为 “用代码玩梗” 的代表。
10.Git漏洞是指Git版本控制系统中的安全缺陷或弱点,可能被恶意攻击者利用来破坏系统的完整性、机密性或可用性。这些漏洞可能影响Git的不同方面,包括客户端、服务器、协议实现或Git仓库的数据。常见的Git漏洞类型包括:
代码执行漏洞:攻击者可能通过恶意仓库或提交,诱使用户在拉取或克隆代码时执行恶意代码。比如,早期的Git版本就曾爆出可以通过特殊的文件名触发远程代码执行的漏洞。
权限提升漏洞:某些漏洞可能允许攻击者提升他们在系统上的权限。例如,利用漏洞绕过用户权限控制,访问或修改他们不应有权限访问的资源。
路径穿越漏洞:这是指利用Git在文件系统上的弱点,创建恶意文件或目录结构,从而覆盖系统中敏感文件。比如,在处理Git仓库时,攻击者可能通过特定的文件名进行路径穿越,修改系统关键文件。
拒绝服务攻击(DoS):某些Git漏洞可能导致服务崩溃或资源耗尽,使得合法用户无法使用系统。例如,构造恶意提交记录或操作可能使Git服务器或客户端卡住或耗尽资源。
泄露敏感信息:Git的一些配置或实现不当,可能导致敏感信息被泄露。比如,包含敏感信息的历史提交在不安全的仓库中暴露,或者Git的某些配置文件包含未加密的凭据。
11.在 PHP 中,var_dump() 是一个内置函数(并非 “命令”),主要用于打印变量的详细信息,包括变量的类型、值以及(对于复合类型)结构层次等,是开发和调试中常用的工具。
基本语法
php
var_dump($variable1, $variable2, …);
可以接收一个或多个变量作为参数,按顺序输出每个变量的详细信息。
没有返回值,直接将结果输出到浏览器或控制台。
核心作用
显示变量类型:明确变量是字符串、整数、布尔值、数组、对象、NULL 等类型。
显示变量值:输出变量的具体内容。
处理复合类型:对于数组、对象等复杂结构,会递归打印其内部元素的类型和值,并显示层级关系。