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

Submitting comments to Wordpress without SSL /OAuth

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

有没有一种简单、安全的方法来做到这一点?

目前我研究的内容:

JSON API 插件 -> 工作正常,但没有安全性。

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

好吧,你可以只使用随机数来避免 XSS 攻击,除此之外你显然需要你的用户登录。这是一个简单的方法来做到这一点。

https://wordpress.org/support/topic/plugin-json-api-how-to-add-a-comment-or-post

编辑: 如果您只需要能够 post 使用他们的姓名和电子邮件地址发表评论。如下使用它,但确保从 api 设置 启用 "Respond controller"

http://yourwebsite.com/api/?json=submit_comment&post_id=170&name=Omer&email=commenter@gmail.com&content=comment

第二次编辑: 为了保护评论,您可以使用随机数,如果它不是插件的内置功能,您必须在 submit_comment 控制器。但是从您的 android 应用程序生成随机数会有点困难。一个简单的解决方案是将现有代码包装在一个条件中。类似于 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