【发布时间】:2017-02-19 00:02:09
【问题描述】:
我想在调用服务器之前验证我的 Elasticsearch ID。我四处寻找是否有办法检查请求的 ID 是否具有正确的格式。我不确定这是否有必要。我知道 elasticsearch 会生成 URL 安全的 Base64 ID。
有人有建议吗?我的问题是:
我应该验证 elasticsearch ID 吗?如果是,如何在执行查询之前验证格式?
-
如果没有.. 直接查询 Elasticsearch 服务器是否安全?用户将无法输入 ID,但一些恶意用户可以拦截或弄清楚如何使用随机字符串调用 Endpoint,这可能是攻击或访问不同的数据集?
李>
我是 Elasticsearch 初学者,但我正在寻找最佳实践。我读到,在以前的版本中,存在一个可以远程执行代码的漏洞。
https://www.elastic.co/blog/scripting-security
http://bouk.co/blog/elasticsearch-rce/
我知道这已解决,但仍想验证 ID。如果 ID 的格式不正确,这至少可以避免对 Elasticsearch 进行不必要的调用。我所知道的是“永远不要相信用户输入”或者在我的情况下避免可能的输入..
注意:我使用的是 elasticsearch-php 客户端。
有什么建议吗?谢谢。
【问题讨论】:
-
您是否打算仅通过 ID 获取文档?
-
我正在开发一个使用 Elastisreach 的 REST API,在我的一个端点上我必须查询 elasticsearch 以通过其 ID 检索文档,并且我试图在构建我的之前确保 ID 有效查询。
-
我不知道有什么方法可以验证 ID,但您始终可以生成自己的文档 ID。此外,我认为威胁很小,因为您只需要执行
GET请求而无需任何请求正文。
标签: php validation security elasticsearch sanitization