恭喜,您的代码可以正常工作!但它安全吗?

WordPress 开发团队高度重视安全性。鉴于网络中有大量服务依赖于该平台的安全性,安全至关重要。虽然核心开发人员有专门团队负责保障核心平台的安全,但作为主题或插件开发者,您非常清楚核心之外可能存在许多脆弱点。由于 WordPress 提供了强大的功能和灵活性,插件和主题往往成为关键的薄弱环节。

在编写将在数百甚至数千个网站上运行的代码时,您应格外谨慎地处理进入 WordPress 的数据以及如何将其呈现给最终用户。这在为主题构建设置页面、创建和操作短代码,或保存和渲染与帖子相关的额外数据时经常遇到。

培养安全思维

在开发过程中,添加功能时必须考虑安全性。随着开发工作的推进,请遵循以下原则:

  • 不要信任任何数据。未经验证,不要信任用户输入、第三方 API 或数据库中的数据。保护您的 WordPress 主题始于确保进出主题的数据符合预期。在使用之前,务必对 用户输入进行验证(validate)和清理(sanitize),并在输出时进行 转义(escape)。
  • 依赖 WordPress API。许多 WordPress 核心函数内置了数据验证和清理的功能。在可能的情况下,请使用 WordPress 提供的函数。
  • 保持代码更新。随着技术的发展,您的插件或主题也可能出现新的安全漏洞。通过维护代码并按需更新来保持警惕。

指导原则

  1. 永远不要信任用户输入。
  2. 转义应尽可能晚地进行。
  3. 对所有来自不可信源(例如数据库和用户)、第三方(例如 Twitter)等的信息进行 转义。
  4. 永远不要假设任何事情。
  5. 清理是可以的,但 验证/拒绝更好。