亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
關(guān)鍵要點(diǎn)
什么是WordPress Nonce?
設(shè)置我們的WordPress插件
演示安全漏洞
使用Nonce保護(hù)我們的插件
首頁(yè) CMS教程 &#&按 什么是WordPress Nonces?

什么是WordPress Nonces?

Feb 16, 2025 pm 12:58 PM

WordPress安全:使用Nonce保護(hù)主題和插件代碼

保護(hù)WordPress主題或插件代碼的安全至關(guān)重要,可以有效防止惡意用戶的攻擊。我們之前已經(jīng)介紹過(guò)如何在WordPress中清理、轉(zhuǎn)義和驗(yàn)證表單數(shù)據(jù),以及如何使用VIP掃描器提高WordPress主題質(zhì)量。今天,我們將探討Nonce(一次性使用數(shù)字)如何幫助保護(hù)WordPress主題和插件的安全。

關(guān)鍵要點(diǎn)

  • WordPress Nonce,或“一次性使用數(shù)字”,是獨(dú)特的安全令牌,用于增強(qiáng)WordPress網(wǎng)站的安全性,方法是驗(yàn)證用戶請(qǐng)求并防止惡意企圖。它們?cè)诜乐箍缯军c(diǎn)請(qǐng)求偽造(CSRF)攻擊方面特別有用。
  • Nonce的工作原理是為每個(gè)用戶會(huì)話、表單提交或AJAX請(qǐng)求生成一個(gè)唯一令牌。然后在處理請(qǐng)求時(shí)驗(yàn)證此令牌,如果不匹配,則拒絕請(qǐng)求。這使得攻擊者難以預(yù)測(cè)或?yàn)E用令牌。
  • 在WordPress中創(chuàng)建Nonce是通過(guò)使用WordPress函數(shù)wp_create_nonce()實(shí)現(xiàn)的,該函數(shù)接受一個(gè)表示要保護(hù)的操作的單個(gè)字符串參數(shù)。驗(yàn)證Nonce是使用wp_verify_nonce()函數(shù)完成的,該函數(shù)接受兩個(gè)參數(shù):要驗(yàn)證的Nonce和關(guān)聯(lián)的操作。
  • Nonce可用于WordPress中的AJAX請(qǐng)求,從而增加了防止CSRF攻擊的額外安全層。Nonce也是特定于用戶的,通過(guò)確保為一個(gè)用戶創(chuàng)建的Nonce對(duì)另一個(gè)用戶無(wú)效,提供了額外的安全層。

什么是WordPress Nonce?

WordPress Nonce定義為:

……一個(gè)“一次性使用數(shù)字”,用于幫助保護(hù)URL和表單免受某些類型的濫用(惡意或其他)。 http://ipnx.cn/link/c5af1dfde10402285102771ad64b3dac

雖然在WordPress中,Nonce從技術(shù)上講不是數(shù)字(它是由字母和數(shù)字組成的哈希值),但它確實(shí)有助于防止惡意用戶運(yùn)行操作。

WordPress Nonce的工作分為兩部分:

  • 創(chuàng)建Nonce(哈希值),通過(guò)表單或操作提交它,以及
  • 驗(yàn)證Nonce,然后接受表單數(shù)據(jù)或運(yùn)行操作。

例如,當(dāng)您在WordPress管理屏幕中刪除帖子時(shí),您會(huì)注意到URL包含一個(gè)_wpnonce參數(shù):

http://ipnx.cn/link/18175d262a01ebf04bc03e38e48e3ffc

刪除帖子的例程將檢查帖子542是否具有a03ac85772的Nonce值,然后再刪除帖子。如果Nonce不存在或與預(yù)期值不匹配,則不會(huì)刪除帖子。

這可以防止惡意用戶潛在地刪除大量帖子。例如,以下內(nèi)容將不起作用,因?yàn)镹once屬于帖子ID 542:

http://ipnx.cn/link/322d830da1130169fb4ca1c7543799d0 http://ipnx.cn/link/dd4143061640d55fb312dd0ce8afa76e http://ipnx.cn/link/9e0f9113b44003201076a9fade1b72d8

What Are WordPress Nonces?

現(xiàn)在讓我們看看如何在插件中實(shí)現(xiàn)WordPress Nonce。

設(shè)置我們的WordPress插件

讓我們從一個(gè)具有自身設(shè)置屏幕的基本插件開始。設(shè)置屏幕有一個(gè)字段,可以提交并保存在WordPress選項(xiàng)表中。

wp-content/plugins/implementing-wordpress-nonces/implementing-wordpress-nonces.php中的新文件中輸入以下代碼:

// ... (插件代碼,與原文相同) ...

通過(guò)WordPress管理>插件屏幕激活插件,您將看到一個(gè)新的Nonces菜單項(xiàng):

What Are WordPress Nonces?

單擊此項(xiàng),您將進(jìn)入設(shè)置屏幕,其中只有一個(gè)字段:

What Are WordPress Nonces?

輸入任何值,單擊“保存”,如果一切正常,您將看到確認(rèn)信息以及您剛剛輸入的值:

What Are WordPress Nonces?

演示安全漏洞

將以下URL輸入到您的Web瀏覽器地址欄中(將域名替換為您安裝WordPress的位置):

http://ipnx.cn/link/0e143c3bef0f7759c230664c4dc905f8

注意發(fā)生了什么?該值被簡(jiǎn)單地保存為abc,只需直接訪問(wèn)URL并登錄到WordPress即可:

What Are WordPress Nonces?

雖然我們可以在代碼中使用$_POST代替$_REQUEST(我們使用$_REQUEST是為了更容易演示安全問(wèn)題),但這無(wú)濟(jì)于事——惡意用戶仍然可以通過(guò)自己或誘導(dǎo)您單擊鏈接來(lái)讓您向此屏幕發(fā)送POST請(qǐng)求,從而導(dǎo)致選項(xiàng)值更改。

這被稱為跨站點(diǎn)請(qǐng)求偽造(或CSRF)。惡意網(wǎng)站、電子郵件、應(yīng)用程序等會(huì)導(dǎo)致用戶的Web瀏覽器執(zhí)行不需要的操作。

我們現(xiàn)在將創(chuàng)建和驗(yàn)證WordPress Nonce,以防止這種攻擊成為可能。

使用Nonce保護(hù)我們的插件

如前所述,此過(guò)程分為兩個(gè)步驟:首先,我們需要?jiǎng)?chuàng)建一個(gè)將與我們的表單一起提交的Nonce。其次,我們需要在提交表單時(shí)驗(yàn)證該Nonce。

要在我們的表單中創(chuàng)建Nonce字段,我們可以使用wp_nonce_field()

獲取或顯示Nonce隱藏表單字段……用于驗(yàn)證表單請(qǐng)求的內(nèi)容是否來(lái)自當(dāng)前站點(diǎn),而不是其他地方……

在我們的輸入按鈕上方添加以下代碼:

// ... (插件代碼,與原文相同) ...

wp_nonce_field接受四個(gè)參數(shù)——前兩個(gè)最重要:

  • $action:這決定了我們正在運(yùn)行的特定操作,并且應(yīng)該唯一。最好用插件名稱作為操作的前綴,因?yàn)榭赡軙?huì)有多個(gè)操作運(yùn)行。在本例中,我們正在保存某些內(nèi)容,因此我們使用了implementing_wordpress_nonces_save
  • $name:這決定了此函數(shù)創(chuàng)建的隱藏字段的名稱。如上所述,我們已使用插件名稱作為其前綴,因此將其命名為implementing_wordpress_nonces_nonce

如果我們重新加載設(shè)置屏幕,更改我們的值并單擊“保存”,您會(huì)注意到該值仍然會(huì)更改。我們現(xiàn)在需要實(shí)現(xiàn)對(duì)提交的Nonce字段的檢查,使用wp_verify_nonce( $name, $action )

驗(yàn)證Nonce是否正確且相對(duì)于指定操作未過(guò)期。該函數(shù)用于驗(yàn)證當(dāng)前請(qǐng)求中發(fā)送的Nonce,通常通過(guò)$_REQUEST PHP變量訪問(wèn)。

將我們插件的admin_screen()函數(shù)的“保存設(shè)置”部分替換為以下代碼:

wp_nonce_field( 'implementing_wordpress_nonces_save', 'implementing_wordpress_nonces_nonce' );

此代碼執(zhí)行以下幾個(gè)操作:

  • 首先,它檢查我們是否提交了某些內(nèi)容。
  • 然后,它檢查我們的Nonce字段是否存在,如果存在,則嘗試根據(jù)我們期望的操作驗(yàn)證Nonce的值。
  • 如果檢查通過(guò),則更新選項(xiàng)。
  • 如果檢查失敗,我們將拋出一個(gè)403錯(cuò)誤,消息為“無(wú)效的Nonce指定”。

為了確保我們的Nonce正在創(chuàng)建和驗(yàn)證,讓我們?cè)俅螄L試訪問(wèn)我們的“惡意”直接URL:

http://ipnx.cn/link/0e143c3bef0f7759c230664c4dc905f8.

如果我們的Nonce已實(shí)現(xiàn)并正在驗(yàn)證,您將看到“無(wú)效的Nonce指定”通知:

What Are WordPress Nonces?

...(剩余部分與原文相同,只是對(duì)語(yǔ)言和表達(dá)方式進(jìn)行細(xì)微調(diào)整,保持原意不變)...

以上是什么是WordPress Nonces?的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
如何診斷WordPress引起的高CPU使用 如何診斷WordPress引起的高CPU使用 Jul 06, 2025 am 12:08 AM

WordPress導(dǎo)致服務(wù)器CPU使用率飆升的主要原因包括插件問(wèn)題、數(shù)據(jù)庫(kù)查詢效率低、主題代碼質(zhì)量差或流量激增。1.首先通過(guò)top、htop或控制面板工具確認(rèn)是否為WordPress引起的高負(fù)載;2.進(jìn)入故障排查模式逐步啟用插件排查性能瓶頸,使用QueryMonitor分析插件執(zhí)行情況并刪除或替換低效插件;3.安裝緩存插件、清理冗余數(shù)據(jù)、分析慢查詢?nèi)罩疽詢?yōu)化數(shù)據(jù)庫(kù);4.檢查主題是否存在過(guò)度加載內(nèi)容、復(fù)雜查詢或缺乏緩存機(jī)制等問(wèn)題,建議用標(biāo)準(zhǔn)主題測(cè)試對(duì)比并優(yōu)化代碼邏輯。按照上述步驟逐一排查可定位并解

如何在WordPress中縮小JavaScript文件 如何在WordPress中縮小JavaScript文件 Jul 07, 2025 am 01:11 AM

MinifyingJavaScript文件可通過(guò)刪除空白、注釋和無(wú)用代碼來(lái)提升WordPress網(wǎng)站加載速度。1.使用支持合并壓縮的緩存插件如W3TotalCache,在“Minify”選項(xiàng)中啟用并選擇壓縮模式;2.使用專用壓縮插件如FastVelocityMinify,提供更精細(xì)控制;3.手動(dòng)壓縮JS文件并通過(guò)FTP上傳,適用于熟悉開發(fā)工具的用戶。注意部分主題或插件腳本可能與壓縮功能沖突,啟用后需徹底測(cè)試網(wǎng)站功能。

如何在沒有插件的情況下優(yōu)化WordPress 如何在沒有插件的情況下優(yōu)化WordPress Jul 05, 2025 am 12:01 AM

優(yōu)化WordPress站點(diǎn)不依賴插件的方法包括:1.使用輕量級(jí)主題,如Astra或GeneratePress,避免功能堆砌的主題;2.手動(dòng)壓縮和合并CSS、JS文件,減少HTTP請(qǐng)求;3.上傳前優(yōu)化圖片,使用WebP格式并控制文件大?。?.配置.htaccess啟用瀏覽器緩存,并接入CDN提升靜態(tài)資源加載速度;5.限制文章修訂版本并定期清理數(shù)據(jù)庫(kù)冗余數(shù)據(jù)。

如何使用瞬態(tài)API進(jìn)行緩存 如何使用瞬態(tài)API進(jìn)行緩存 Jul 05, 2025 am 12:05 AM

TransientsAPI是WordPress中用于臨時(shí)存儲(chǔ)可自動(dòng)過(guò)期數(shù)據(jù)的內(nèi)置工具,其核心函數(shù)為set_transient、get_transient和delete_transient。相比OptionsAPI,transients支持設(shè)置生存時(shí)間(TTL),適合緩存API請(qǐng)求結(jié)果、復(fù)雜計(jì)算數(shù)據(jù)等場(chǎng)景。使用時(shí)需注意key命名唯一性與命名空間、緩存“懶刪除”機(jī)制及對(duì)象緩存環(huán)境下可能不持久的問(wèn)題。典型應(yīng)用場(chǎng)景包括減少外部請(qǐng)求頻率、控制代碼執(zhí)行節(jié)奏和提升頁(yè)面加載性能。

如何以編程方式防止評(píng)論垃圾郵件 如何以編程方式防止評(píng)論垃圾郵件 Jul 08, 2025 am 12:04 AM

防止評(píng)論垃圾信息最有效的方式是通過(guò)程序化手段自動(dòng)識(shí)別并攔截。1.使用驗(yàn)證碼機(jī)制(如GooglereCAPTCHA或hCaptcha)可有效區(qū)分人類與機(jī)器人,尤其適合公眾網(wǎng)站;2.設(shè)置隱藏字段(Honeypot技術(shù)),利用機(jī)器人自動(dòng)填寫特性識(shí)別垃圾評(píng)論,不影響用戶體驗(yàn);3.檢查評(píng)論內(nèi)容關(guān)鍵詞黑名單,通過(guò)敏感詞匹配過(guò)濾垃圾信息,需注意避免誤判;4.判斷評(píng)論頻率與來(lái)源IP,限制單位時(shí)間內(nèi)的提交次數(shù)并建立黑名單;5.使用第三方反垃圾服務(wù)(如Akismet、Cloudflare)提升識(shí)別準(zhǔn)確性。可根據(jù)網(wǎng)站

如何爭(zhēng)取古騰堡大塊的資產(chǎn) 如何爭(zhēng)取古騰堡大塊的資產(chǎn) Jul 09, 2025 am 12:14 AM

在開發(fā)Gutenberg塊時(shí),正確enqueue資產(chǎn)的方法包括:1.使用register_block_type指定editor_script、editor_style和style的路徑;2.在functions.php或插件中通過(guò)wp_register_script和wp_register_style注冊(cè)資源,并設(shè)置正確的依賴和版本;3.配置構(gòu)建工具輸出合適的模塊格式,并確保路徑一致;4.通過(guò)add_theme_support或enqueue_block_assets控制前端樣式的加載邏輯,確保

如何向用戶添加自定義字段 如何向用戶添加自定義字段 Jul 06, 2025 am 12:18 AM

要添加自定義用戶字段需根據(jù)平臺(tái)選擇擴(kuò)展方式并注意數(shù)據(jù)驗(yàn)證與權(quán)限控制。常見做法包括:1.利用數(shù)據(jù)庫(kù)額外表或鍵值對(duì)結(jié)構(gòu)存儲(chǔ)信息;2.在前端加入輸入框并與后端集成;3.對(duì)敏感數(shù)據(jù)進(jìn)行格式校驗(yàn)和訪問(wèn)權(quán)限限制;4.更新接口及模板以支持新字段展示與編輯,同時(shí)兼顧移動(dòng)端適配和用戶體驗(yàn)。

如何優(yōu)化WordPress機(jī)器人TXT 如何優(yōu)化WordPress機(jī)器人TXT Jul 13, 2025 am 12:37 AM

robots.txt對(duì)WordPress網(wǎng)站的SEO至關(guān)重要,能引導(dǎo)搜索引擎抓取行為,避免重復(fù)內(nèi)容并提升效率。1.屏蔽如/wp-admin/、/wp-includes/等系統(tǒng)路徑,但避免誤封/uploads/目錄;2.添加Sitemap路徑如Sitemap:https://yourdomain.com/sitemap.xml以幫助搜索引擎快速發(fā)現(xiàn)站點(diǎn)地圖;3.限制/page/和帶參數(shù)的URL以減少爬蟲浪費(fèi),但需注意勿封重要?dú)w檔頁(yè);4.避免常見錯(cuò)誤如誤封全站、緩存插件影響更新及忽略移動(dòng)端與子域名配

See all articles