【问题标题】:How to hide details in jquery ajax from browser page source如何从浏览器页面源中隐藏 jquery ajax 中的详细信息
【发布时间】:2011-12-08 21:13:17
【问题描述】:

我正在使用 jquery 来处理我所有的 ajax 事情,我不知道这是否可以,但我现在使用它。
当用户在其中输入字符时,我有一个文本输入,我调用服务器端获取一些值并将它们添加到视图中。
我在下面使用的代码可以正常工作我想对其进行一些改进。
如何进行此 ajax 调用,以便想要调查我的页面源代码的用户看不到我在此处调用的内容?
所以基本上我想从页面源中隐藏我在这里使用的 url、什么类型和数据发送,这可能吗?

$(function () {
        $("#txtSearch").keyup(function (evt) {        
            $.ajax({
                url: "/Prethors/Users/SearchUsers",
                type: "POST",
                data: "text=" + this.value,
                success: function (result) {
                    $("#searchResult").prepend("<p>" + result + "</p>");      
                }
            });
        });
    });

【问题讨论】:

  • 它是 JavaScript。他们可以在您放置它的任何地方看到它。

标签: javascript asp.net-mvc jquery


【解决方案1】:

不,如果您将其包含在 javascript 中,用户将始终能够弄清楚您正在拨打什么电话。

您可以压缩和缩小 javascript,但有决心的人总能找到您的 url 调用。

例如,这里有一个 js 压缩站点。 http://jscompress.com/

【讨论】:

  • 嗯,所以你不是说我可以看到 Facebook 人物搜索的发送方法吗?我在 fb 页面上找不到它,他们有可能以某种方式隐藏它吗?
  • 他们所做的只是以某种方式伪装电话。检查 firebug 或 chrome 控制台,您会看到每个网络调用都是资源请求。
【解决方案2】:

总的来说,您不必担心这一点。我知道没有办法隐藏你的 ajax 调用,但你不应该这样做。

-你可以加密信息。

-您可以使用 comet 在持久连接上流式传输数据。 (超级复杂)。

-遵循良好的服务器安全实践,无需担心。

来源:here

如果你真的担心这个,你可以设置一个匿名 URL,然后它会根据一些任意变量重定向到你真正想去的地方。

例如,而不是去"/Prethors/Users/SearchUsers"

转到"/AnonymousCall?code=5"

您可以从中执行搜索用户所需的代码

【讨论】:

    【解决方案3】:

    您无法隐藏客户端代码。您可以使用minification 伪装它,但敏感数据应始终在服务器端存储和处理。

    【讨论】:

      【解决方案4】:

      在 ajax 调用后使用 console.clear(); :P 它只是从控制台清除请求,但您仍然无法隐藏客户端调用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-31
        • 1970-01-01
        • 2017-11-24
        • 2014-01-18
        • 2017-04-13
        • 2012-03-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多