在没有SSL / OAuth的情况下向Wordpress提交评论

时间:2015-03-11 05:42:12

标签: php wordpress ssl

我想让android / iPhone用户匿名提交评论(无需注册博客)到自我托管的Wordpress博客。

有一种简单,安全的方法吗?

到目前为止我研究的内容:

JSON API插件 - >效果很好,但没有安全性。

WP-API - >没有提交评论方法已实施+无安全性。

1 个答案:

答案 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