通过Wordpress公开Web服务

时间:2013-01-15 23:08:59

标签: php web-services wordpress

我正在为WordPress创建一个新插件,要求外部网站使用网络服务。例如,如果有两个站点A和B,则插件将安装在A上,所有相关数据都存储在站点A的WPDB中。站点B将使用Web服务从站点A获取XML格式的数据。

这可能吗?什么是最安全的解决方法?

我可以在我的插件中将Web服务作为PHP文件,但这将要求外部域命中: http://www.domain.com/wp-content/plugins/plugin-folder/web-service.php。暴露Wordpress设置的深度似乎是个坏主意。

我可以让我的插件在root中创建一些文件,以便web服务调用到http://www.domain.com/web-service.php,但是我的插件安装在插件目录之外的东西似乎也是一种不好的做法。

另一个想法:我可以将文件放在我的插件文件夹中,但是在.htaccess中添加一行以使http://www.domain.com/web-service.php转到它吗?

有没有人对最好,最安全的方式有任何想法?

2 个答案:

答案 0 :(得分:2)

我会在.htaccess中设置一个重写规则,让用户在不知道它的位置的情况下访问你的代码。我不认为有一种简单的方法可以向Wordpress前端控制器添加特定路由,但您可以看到是否有操作或过滤器来执行此操作。

编辑:

以下是添加路线https://wordpress.stackexchange.com/questions/26388/how-to-create-custom-url-routes

的帖子

答案 1 :(得分:0)

在我个人看来,如果我安装了一个WP插件并且你在我的根目录中创建了一个新文件,我会一起删除该文件或插件。我也会尽量避免添加.htaccess文件。这再次让我怀疑。

我要做的是,安装ping网站B(您的网站)上的文件,该文件捕获网站A(他们的网站)上的插件文件夹的位置,因为WP可能安装在目录内而不是安装在根。然后你知道“web-service.php”文件的位置。然后你可以随时点击该文件。没有理由使用.htaccess规则或创建新文件。

只是一个建议:)

相关问题