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 等類型。
顯示變量值:輸出變量的具體內容。
處理復合類型:對于數組、對象等復雜結構,會遞歸打印其內部元素的類型和值,并顯示層級關系。