快速的问题;安全的ASP.NET MVC呼叫控制器
给控制器用户和和功能让别人可以打电话;
mydomain.com/user/get并访问那里的功能。
什么是最好的做法,只允许我的应用程序能够调用它?
由于
快速的问题;安全的ASP.NET MVC呼叫控制器
给控制器用户和和功能让别人可以打电话;
mydomain.com/user/get并访问那里的功能。
什么是最好的做法,只允许我的应用程序能够调用它?
由于
装点处理法与[ChildActionOnly]属性将确保一个控制器上的处理法不能直接通过输入URL用户调用。 EG
[ChildActionOnly]
public ActionResult _CantNavigateHere()
{
return View();
}
您可以在MVC3和Ajax中使用AntiForgeryToken。
这就是我的做法。 (这是不是万无一失的,当然,但增加了另一层安全)
在你看来,在任何地方,输出:
@Html.AntiForgeryToken()
而在你的Ajax调用包括像在后的变量此值:
$.post("/Controller/Action/",
{ 'id': var_id, '__RequestVerificationToken': $("input[name='__RequestVerificationToken']").val() },
function (data) { /* handle request */ });
而在你的控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Action(int id) {..}
除此之外,你还可以做一张支票引荐主机并拒绝与您的域名不匹配的任何主机。这可能是欺骗性的,但同样是另一个要添加的层。
你的应用程序是什么? – epignosisx