存储插件管理数据设置的任何其他方式

时间:2020-09-15 作者:chris

我创建了一个插件,并使用add\\u admin\\u menu()添加了一些页面,供用户放置Api密钥和密码。我的页面内容只是收集用户输入的数据的一种形式,现在我的问题是,除了将数据发送到数据库,以便始终在那里检索数据外,还有其他地方可以存储这些密钥和密码吗?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

不完全是这样,如果您希望它可以通过表单进行更新,那么唯一的选择就是我不推荐的:

  • Files, 安全性很差,容易被盗Object Cache, 虽然在大多数人的标准中很少这样做,而且很神秘,但如果您安装了一个对象缓存(如memcached或redis)和一个对象插件,那么您可以使用它。然而,这有点短暂,并且不是完全持久的,并且需要安装服务器软件。这还可能导致用户使用缓存到磁盘的缓存插件,从而带来安全风险Secure vaults, 需要在服务器上设置和配置其他软件,例如。https://www.vaultproject.io/, 以及客户端库。此外,您可能需要存储身份验证详细信息,以使您回到开始的位置。很少有用户能够使用此功能I would store it in the database. 如果应用程序密钥和密码被盗,则可以将其吊销,并保存新的密钥/密码。

    为完整起见,还有两种其他替代方案无法通过浏览器进行更新或设置,但都需要服务器级访问才能进行更改和设置,从而提供更高的安全性:

    • wp-config.php constants, e、 g。define( \'CHRIS_PLUGIN_APP_KEY\',\'XXXXXX\' );, 这具有更高的安全性,但用户很难设置Environment variables, 在系统级别而不是WordPress级别定义它们,$_ENV[\'CHRIS_APP_KEY\'], 这可能是最安全的选项,但是这些选项都不能从WordPress更改。

      警告:有些人可能会将此作为尝试修改的提示wp-config.php 在代码中,这是非常糟糕的做法,很容易杀死网站,许多主机阻止对该文件的修改,用户可以wp-config.php 在陌生的地方或用它做奇怪的事情

相关推荐

$wpdb selects wrong database

我在另一个WordPress网站的文件夹中创建了一个新的WordPress网站。示例-主站点。com-mainsite。com/第二站点我创建了一个插件,并使用$wpdb 将数据插入数据库,插件将数据插入第一个/父站点的数据库。我使用的代码包括$wpdb 如下所示:$path = $_SERVER[\'DOCUMENT_ROOT\']; include $path . \'/wp-load.php\'; include $path . \'/wp-config.php\'; inc