gpt4 book ai didi

c# - 如何在 ASP.NET 中保护 AJAX 请求?

转载 作者:行者123 更新时间:2023-11-30 13:53:08 30 4
gpt4 key购买 nike

我正在开发一个在网格中显示产品的应用程序。在网格中有一列有一个禁用/启用图标,单击该图标我通过 AJAX 向我的页面 manageProduct.aspx 发出请求以启用/禁用该特定产品。

在我的 ajax 请求中,我将 productID 作为参数传递,因此最终的 ajax 查询如下

http://example.com/manageProduct.aspx?id=234

现在,如果某人(专业黑客或 Web 开发人员)可以获得此 URL(很容易从我的 javascript 文件中获取),那么他可以制作一个脚本,该脚本将作为循环运行并禁用我的所有产品。

所以,我想知道是否有任何机制、技术或方法可以使用,如果有人试图直接执行该页面,那么它会返回一个错误(正确的消息“你没有被授权或其他什么”)如果该页面是从所需页面执行的,例如我正在显示产品列表的页面,那么它将正确执行。

基本上我想保护我的 AJAX 请求,所以没有人可以直接执行它们。

在 PHP 中:

在 php 中,我的同事通过检查页面的引用来保护此 PHP 页面。如下:

$back_link = $_SERVER['HTTP_REFERER'];

if ($back_link =='')
{
echo 'You are not authorized to execute this page';
}
else
{
//coding
}

请告诉我如何在 ASP.NET (C#) 中使用相同或任何其他不同但安全的技术,我在我的应用程序中使用 jQUERY 来发出 ajax 请求。

谢谢

最佳答案

忘记使用引用 - 伪造起来很简单。无法可靠地判断请求是直接发出还是作为对其他事物的响应。

如果您想阻止未经授权的人通过请求 URL 对系统产生影响,那么您需要更智能的东西来确定他们的授权级别(可能是使用 HTTP Basic Auth 或 Cookie 实现的密码系统)。

关于c# - 如何在 ASP.NET 中保护 AJAX 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/847377/

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