我想让android / iPhone用户匿名提交评论(无需注册博客)到自我托管的Wordpress博客。
有一种简单,安全的方法吗?
到目前为止我研究的内容:
JSON API插件 - >效果很好,但没有安全性。
WP-API - >没有提交评论方法已实施+无安全性。
答案 0 :(得分:0)
嗯,你可以使用nonce来避免XSS攻击,除此之外,你显然需要你的用户登录。这是一个简单的方法。
https://wordpress.org/support/topic/plugin-json-api-how-to-add-a-comment-or-post
编辑:如果您只需要发布评论及其姓名和电子邮件地址。使用如下,但请确保启用"从api设置响应控制器"
http://yourwebsite.com/api/?json=submit_comment&post_id=170&name=Omer&email=commenter@gmail.com&content=comment
第二次编辑:为了保护评论,您可以使用随机数,如果它不是插件的内置功能,则必须在submit_comment控制器中添加此功能。但是从你的Android应用程序生成nonces会有点困难。一个简单的解决方案是将现有代码包装在一个条件中。类似于base64编码的时间标记。
if(isset($_GET['token'])){
$token = base64_decode($_GET['token']);
$current_time = time();
$difference = round(abs($current_time - $token) / 60,2);//difference in minutes
if($difference < 5){
// Run the code thats already in submit_comment controller.
}
}
然后在REST api中你可以发送类似
的内容http://yourwebsite.com/api/?json=submit_comment&post_id=170&name=Omer&email=commenter@gmail.com&content=comment&token=BASE64_ENCODED_TIMESTAMP