gpt4 book ai didi

c# - 我应该如何处理用户浏览我站点中仅用于 AJAX 的页面?我应该使用 GET 吗?

转载 作者:行者123 更新时间:2023-11-30 16:18:04 25 4
gpt4 key购买 nike

关于何时在 AJAX 请求中使用 POST 和何时使用 GET 的性质,已经提出了类似的问题

这里: What are the advantages of using a GET request over a POST request?

这里: GET vs. POST ajax requests: When and how to use either?

但是,我想说明的是,这并不是我要问的。我获得了幂等性、敏感数据、浏览器在出现错误时能够重试的能力,以及浏览器能够缓存查询字符串数据的能力。

我的真实情况是这样的,我想阻止我的用户简单地输入我的“Compute.cshtml”文件的 URL(即服务器上的文件,我的 jQuery $.ajax 函数发布到)。

我在 WebMatrix C#.net 网页环境中,我试图在文件名前加上下划线 (_),但显然 AJAX 请求符合与此相同的标准下划线旨在防止显示,当然,它会中断请求。

所以如果我使用 POST,我可以简单地使用这个逻辑:

if (!IsPost)  //if this is not a post...
{
Response.Redirect("~/") //...redirect back to home page.
}

如果我使用 GET,我想我可以发送额外的数据,例如包含值 "AccessGranted" 的字符串,并在另一端检查它是否等于该值,如果不等于则重定向,但这可以很容易地通过在地址栏中键入来复制(并不是说数据在另一侧是敏感的,而是......)。

无论如何,我想我是在问是否可以始终使用 POST 来处理此逻辑,或者关于在 WebMatrix C#.net 网页中使用 GET 或 POST 和 AJAX 来处理我的情况的适当方法是什么环境。

最佳答案

我的建议是,不要试图阻止他们。这是无害的。

  • 您不会直接链接到它,所以它不会真正出现。 (为了 Google,您可能希望您的 robots.txt 排除整个/api 目录)。
  • 这是他们无论如何都可以访问的数据(否则您需要服务器端修整),因此您不能暴露任何危险或敏感的信息。
  • 将 GET 用于类似 GET 的请求的优点有很多,因为您链接到(缓存、语义等)

那么通过直接浏览器输入访问该 url 有什么危害呢?他们也可以直接发布,如果他们足够狡猾,例如使用 Fiddler“撰写”。让 GET 可通过 url 访问对于调试很有用。

编辑:查看像 http://www.robotstxt.org/orig.html 这样的网站了解很多细节,但是从名为/api 的 Web 服务目录中排除搜索引擎的 robots.txt 看起来像这样:

User-agent: *
Disallow: /api/

关于c# - 我应该如何处理用户浏览我站点中仅用于 AJAX 的页面?我应该使用 GET 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16484634/

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