我正在创建一个WP插件,它显示来自外部数据库的信息。插件将被分发,外部数据库位于我自己的服务器上。
我知道以下代码将连接到我的数据库:
$newdb = new wpdb($DB_USER, $DB_PASSWORD, $DB_NAME, $DB_HOST);
$newdb->show_errors();
但我不想向下载插件的所有人显示我的密码。我在谷歌和许多论坛上搜索过,但我找不到安全的方法。
我希望有人能把我推向正确的方向。
最合适的回答,由SO网友:MathSmath 整理而成
我认为插件很少直接与数据库连接,原因正是您所引用的(其中包括端口问题、数据库安全最佳实践等)。
在大多数情况下,如果希望插件连接到外部数据源,最好使用API. 因此,您可以通过HTTP访问信息,而不是通过DB连接。
如果您提供给插件的信息不敏感,那么这很容易实现:只需创建一个端点(yourserver.com/some info/)即可提供以下信息:JSON (或其他一些结构化数据格式,如XML)。然后,您的插件可以通过plain ol\' GET request.
如果您的数据是敏感的,或者如果您需要客户端具有写入权限,则需要添加auth mechanism 到您的API。然后,用户需要进行身份验证,并提供有效的令牌以访问数据。
一开始听起来可能令人望而生畏,但大多数good PHP frameworks 使您可以轻松地推出自己的API—您只需要基本的路由和身份验证。Apigee提供了一个良好的(免费的,以交换您的联系信息)overview of API design here.