я создал контроллер:Javascript инъекции осины MVC
[Authorize]
[AcceptVerbs(HttpVerbs.Delete)]
public ActionResult Delete(int id)
{
try
{
db.DeleteObject(db.AEROLINEA.FirstOrDefault(x => x.AEROLINEAID == id));
db.SaveChanges();
}
catch { /* TODO:Display message*/ }
return View();
}
если я выполнить в поджигатель следующий Javascript кто вошел может удалить авиакомпанию, даже если он оленья кожа разрешения на удаление
var action = "/Airline/Delete/" + recordId;
var request = new Sys.Net.WebRequest();
request.set_httpVerb("DELETE");
request.set_url(action);
request.add_completed(deleteCompleted);
request.invoke();
ХАУ может избежать этой проблемы ???
разрешить проверить, ou имеют доступ к этой точке зрения? или только убедитесь, что вы зарегистрированы? – 2009-05-20 19:16:32
Он проверяет, принадлежит ли зарегистрированный пользователь, например: «Администратор», что означает, что он имеет доступ к этому конкретному методу действия. Но сначала вам нужно создать роль. – 2009-05-20 19:25:43
, который бы не работал для меня, потому что новые роли могут быть созданы пользователем динамически. , но реальная проблема заключается в следующем: если кто-то имеет доступ к методу удаления, он может передать что-либо в идентификаторе и может удалить любую авиакомпанию, даже если она не указана в представлении (потому что у него нет прав на эту авиакомпанию.) – 2009-05-20 20:07:40