0

我正在使用 ajax 构建一个 wordpress 插件,并希望保护 json 数据免受窥探和数据抓取。

我的想法...服务器端,我在表单提交中的隐藏 html 字段中发送随机数到 jquery 脚本。

该脚本通过 GET 来自 php 文件的一些 json 数据请求。

在 php 文件响应 GET 请求之前,它首先检查 nonce 是否有效,如果有效,则返回 json 数据。如果不是,则不返回任何内容/死掉/做一些很酷的事情来锁定该 IP 地址一段时间。

如果爬虫通过 get 请求直接访问数据文件,但 nonce 不正确,则不会返回任何数据。如果一个人偷看数据文件,但他们没有随机数,那么他们什么也看不到……这是正确的吗?我知道 nonce 只使用一次,所以即使他们有一个旧的 nonce,他们仍然无法查看数据,除非 wordpress 生成一个新的 nonce?

这是可能的还是我完全错过了nonce的重点?

4

1 回答 1

1

在我看来,您似乎对 Wordpress nonce 的工作原理有了大致的了解,但无论如何这里有一些阅读:

Mark Jaquith - WordPress
随机数 Vladimir Prelovac - 在 WordPress 插件中使用随机数

我认为您需要记住以下几点:

  1. 如果所有这些功能主要在 Wordpress 的管理员端使用,那么您还必须了解,为了让爬虫被视为威胁,它需要与普通用户相同的凭据。刮刀如何在没有用户名和密码的情况下刮取您的管理面板?它不能。如果您对 Wordpress 自己使用的核心安全性感到满意,那么您的附加 Nonce 功能就是很多闪光和闪光,以消除不存在的威胁。
  2. 如果您的敏感数据要与管理面板分开,那么 Nonce 可能是保护它的一种方式,我想,但这真的不是 Nonce 的目的。有许多更简洁的方法可以保护您的信息,而不是依赖于 Wordpress 的 Nonce 功能,因此请考虑寻找更相关的替代方法。
  3. IP Banning 很简洁,但您也必须了解这不是万无一失的方法,因为 IP 地址很容易被伪造,并且可能会产生一些意想不到的后果。您可能能够成功禁止试图访问私人信息的人的 IP 地址,但如果该人试图通过网络进行此操作怎么办?您有效地禁止了整个网络访问您的网站,而不仅仅是一个人。

总而言之,您应该确保为任何特定工作使用正确的工具。我认为将 Nonce 用于此目的当然是可能的,但它远非理想。

于 2013-01-02T02:02:05.827 回答