2013-01-02 25 views
0

我正在構建一個帶有ajax的wordpress插件,並且希望保護json數據免受窺探者和數據刮板的侵害。ajax nonce wordpress安全。我可以用這個來保護我的json數據不被刮擦嗎?

我的想法...服務器端,我發送一個隱藏的HTML字段中的一個隨機數在表單提交給一個jQuery腳本。

該腳本通過GET請求從php文件中獲得一些json數據。

在php文件響應GET請求之前,它首先檢查nonce是否有效,如果是,則返回json數據。如果沒有,則返回任何東西/死亡/做一些很酷的事情來鎖定該IP地址一段時間。

如果一個刮板通過get請求直接進入數據文件,但是不正確的nonce,則不返回任何數據。如果一個人偷看數據文件,但他們沒有隨機數,那麼他們什麼也看不到......這是正確的嗎?我知道nonce只使用一次,所以即使他們有一箇舊的nonce,他們仍然無法查看數據,除非由wordpress生成新的nonce。

這是可能的還是我完全錯過了現時的觀點?

回答

1

在我看來,像你對如何WordPress的現時工作的總體思路,但這裏的一些閱讀反正:

Mark Jaquith - WordPress Nonces
Vladimir Prelovac - Using Nonces in WordPress Plugins

我認爲你需要記住幾件事情:

  1. 如果所有這些功能主要用於WordPress的管理端,那麼您還必須明白,爲了讓刮板甚至被視爲威脅, uld需要與普通用戶相同的憑據。沒有用戶名和密碼的情況下,刮板如何刮掉管理面板?它不能。如果您對Wordpress自己使用的核心安全性感到滿意,那麼您的附加Nonce功能就有很多閃光和閃光功能可以消除不存在的威脅。
  2. 如果您的敏感數據要與管理控制檯保持分開,那麼Nonce可能是保護它的一種方法,我想,但這實際上不是Nonce的目的。有很多更清晰的方法來保護您的信息,而不是依賴Wordpress的Nonce功能,因此請考慮尋找更相關的備選方案。
  3. 知識產權禁令是整潔和所有的,但你也必須明白,這不是一個萬無一失的方法,因爲IP地址可以很容易僞造,它可能會有一些意想不到的後果。您可能能夠成功禁止嘗試訪問私人信息的人的IP地址,但如果該人通過網絡嘗試此操作,該怎麼辦?您已經有效地禁止整個網絡訪問您的網站,而不僅僅是一個人。

總而言之,您應該確保您爲任何特定工作使用正確的工具。我認爲使用Nonce來達到這個目的當然是可能的,但它遠非理想。

相關問題