gpt4 book ai didi

javascript - 从 javascript 调用操作方法时 Asp、Net MVC 应用程序的安全问题

转载 作者:行者123 更新时间:2023-11-28 16:24:24 24 4
gpt4 key购买 nike

我在 Controller 类上添加了身份验证属性,这些属性用于管理目的,例如添加、删除类别和产品。所有此类 Controller (ManageCategory、ManageProduct)都装饰有以下内容:-

[Authorize(Roles = "Administrator")]

这些 Controller 具有 UploadRemove 操作方法,这些方法由 jquery 从呈现的 View 中调用。由于客户端脚本不使用 URL 或回发,因此我对是否有人可以绕过 Controller 授权持怀疑态度。这些操作方法非常敏感,因为它提供了删除服务器上文件的能力。以下是 Remove 操作方法的代码。

[HttpPost]
public ActionResult Remove(string fileName)
{
string completFileName = Server.MapPath("~" + fileName);
System.IO.File.Delete(completFileName);
return Json(true);
}

虽然此操作方法驻留在具有授权的 Controller 中,但有人仍然可以在不登录的情况下访问它。我是否应该担心并做其他事情,或者在访问此内容之前始终需要被授权为管理员?

最佳答案

不太明白你的意思..

Since client script don't use the URL or postback

来自客户端脚本的 AJAX 请求发送 cookie 的方式与常规页面请求相同 - 使用 Firebug 或 Fiddler 或某些此类工具查看 AJAX 请求的 header 。

这包括标准 ASP.NET 身份验证使用的 .ASPXAUTH cookie。 Controller 将对 AJAX 请求执行与对普通页面请求完全相同的身份验证检查。

关于javascript - 从 javascript 调用操作方法时 Asp、Net MVC 应用程序的安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8492658/

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