reactjs - 从客户端访问Elasticsearch而不通过API服务器是否安全?

标签 reactjs api security elasticsearch vue.js

例如,假设您将以下Javascript代码嵌入Vue.js或React.js中。

var elasticsearch = require ('elasticsearch');
var esclient = new elasticsearch.Client ({
   host: 'Elasticsearch host name of Elascticsearch Cloud's(URL?')
   });
   esclient.search ({
         index: 'your index',
           body: {
             query: {
              match: {message: 'search keyword'}
   },
   aggs: {
       your_states: {
          terms: {
            field: 'your field',
            size: 10
           }
         }
       }
    }
  }
 ).then (function (response) {
       var hits = response.hits.hits;
 }
);

针对像stackoverflow这样的应用程序的搜索引擎时,
如果仅使用Elasticseach云的ROLE设置从公众那里获得GET可以,
即使我没有准备API服务器,我仍认为上述客户端代码可以实现相同的目的,
这是安全问题吗? (例如主机名落在客户端是否有危险)

如果没有问题,搜索引擎的响应速度将会更快,并且实现成本将会降低,
我想知道为什么很多人不会这样做。 (因为这样的示例代码很难在网上看到)

谢谢。

最佳答案

这不是一个好主意。

如果有任何编程知识的客户找到我们的ElasticSearch IP地址,您就大为烦恼,他基本上可以删除所有数据,而无需您注意。

我对XPack安全性不了解,但是如果您不使用它,则绝对被迫将ES隐藏在API后面。

然后,您还必须保护您的ES域安全,以仅允许从API服务器进行访问,并阻止世界其他地方。

关于reactjs - 从客户端访问Elasticsearch而不通过API服务器是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54150888/

相关文章:

javascript - useEffect 是否会在初始组件安装时加载依赖项?

javascript - 如何注释返回状态片段的函数的流类型?

php - 保护 API - JS 前端和 PHP 后端

javascript - 动态脚本标签的安全问题

java - 如何从 Python 与 Java 交互

java - Tomcat 连接器匹配属性警告

css - webpack 服务器不加载 css 样式表

node.js - 在 React 应用程序中创建一个安全层,以对未经身份验证的用户隐藏 Web 服务

php - FEDEX 网络服务 wsdl 文件

c - 在 C 中安全重启 linux