在WordPress中,哪里可以安全地存储API密钥和密码?

时间:2015-12-19 作者:jgraup

我希望使用一些API,其中许多API都带有工作所需的密钥、密钥和密码。您可以在WordPress中的何处存储这些信息?假设有人可以入侵你的数据库,WordPress是否可以让保存这些信息更加安全?此外,考虑经常更改这些键的能力,以便我需要更新选项页面上的键。

更新Mossack Fonseca Breach – WordPress Revolution Slider Plugin Possible Cause
  • Panama Papers: Email Hackable via WordPress, Docs Hackable via Drupal
  • 2 个回复
    最合适的回答,由SO网友:fuxia 整理而成

    没有绝对安全的方法永久存储此类信息
    有两个选项可以稍微提高安全性:

    1. Use the options table and encrypt the data

      使用strong encryption method, 并将其绑定到:

      当您只想在登录时使用API调用时,请输入密码,或使用存储在wp-config.php – 然后攻击者需要PHP代码和数据库

      Store the access information outside of WordPress

      如果使用系统进行自动部署,例如基于Composerwpstarter, 您可能有某种部署服务器,如Envoyer 这将创建一个包含重要配置变量的文件,这些变量存储在站点服务器的文档根目录之外
      然后您可以使用部署服务器的后端而不是WordPress后端来更改这些数据。

    这两种选择都不是完全安全的。您仍然必须监视API的实际使用情况,以检测意外活动。确保有一个不能被完全访问您网站的人泄露的日志。

    SO网友:Mark Kaplun

    答案是否定的。如果你的数据库可以被监视,你的代码也可能被监视,所以即使你加密数据,它也可以被解密。

    如果要存储敏感数据,没有低级别的解决方案可以帮助您,您只需要确保整个应用程序的安全,使存储问题变得无关紧要。

    实际上,我遇到了一个加密数据的要求,因此如果应用程序的安全性被破坏,并且你只能访问数据库,你就不能使用这些数据,但在现实生活中,你更可能在wordpress级别而不是DB级别被黑客攻击。

    相关推荐

    在发送到options.php之前分析表单值

    我正在开发一个自定义插件,它需要为远程API输入身份验证数据,并且需要保存这些数据。我想在保存到db之前对其进行加密。我添加了一个设置页面,其中包含:<form method=\"post\" action=\"options.php\"> <!-- form fields here... --> </form> 而不是将每个选项保存为{wp_table_prefix}_options 表中,我希望它们仅保存为一行中的对象,因此name 属