gpt4 book ai didi

javascript - 使用 ajax 时如何保护 Elasticsearch

转载 作者:行者123 更新时间:2023-11-29 19:32:28 25 4
gpt4 key购买 nike

我是 webapps 的新手,所以如果这个问题看起来很幼稚,我很抱歉,只是想学习。我正在研究使用 elasticsearch 进行自动完成。我见过的所有示例都显示了某种形式的 jquery/ajax/angularjs,它向用户公开了 elasticsearch url,这似乎是一种糟糕的做法。保护服务器 url 的正确方法是什么,同时仍然允许 ajax 对其进行调用(即使是间接调用)?

最佳答案

在 AJAX 世界中,没有办法保护服务器 URL。没关系;无论如何,默默无闻的安全性并不是一个好习惯。您需要做的是确保您的服务器不会通过该 URL 被黑客入侵。一些提示:

  1. 禁用 ES 中的脚本。较新版本的 ES 默认情况下将其禁用。

  2. 不要向外界公开您的裸 ES 服务器。默认情况下,ES 在端口 9200 上可用,这意味着任何人都可以运行任何查询(或做任何他们想做的事情)。确保该端口已阻止外部访问。正如一位评论者所指出的,Javascript 应该调用您的服务器,而服务器又应该将 ES 服务器调用为 localhost(同样,确保 localhost:9200 被阻止进行外部访问)或在防火墙后面。

    <
  3. 在将所有输入查询传递给 ES 之前清理它们。 ES 不像 SQL 那样容易受到“注入(inject)”攻击,但过滤掉任何令人讨厌的字符(如\{ ": 等等)以将字符串长度限制在合理范围内等仍然很重要。

祝你好运!

关于javascript - 使用 ajax 时如何保护 Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26767230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com