Jak prawidłowo upewnić się, że użytkownik nie narusza wartości kwerendy lub wartości adresów URL działania? Na przykład, możesz mieć działanie Usuń komentarz na swoim CommentControllerze, który pobiera CommentID. Adres URL działania może wyglądać tak:/Komentarze/Usuń/3, aby usunąć komentarz z identyfikatorem 3.Bezpieczeństwo z wartościami QueryString w Asp.net MVC
Oczywiście nie chcesz, aby ktokolwiek mógł usunąć komentarz 3. Normalnie na właściciela komentarza lub administratora pozwolenie na to. Widziałem, jak to bezpieczeństwo było egzekwowane na różne sposoby i chciałbym wiedzieć, jak niektórzy z was to robią.
Czy wykonujesz wiele wywołań bazy danych w celu pobrania komentarza i czy autor komentarza odpowiada użytkownikowi wywołującemu akcję kasowania?
Czy zamiast tego przekazujesz identyfikator komentarza i identyfikator użytkownika do procedury składowanej, która usuwa i czy usuwa, gdzie identyfikator użytkownika i identyfikator komentarza są równe wartościom przekazanym?
Czy lepiej zaszyfrować wartości ciągu zapytania?
Więc jak sugerują edytować/usuwać rzeczy następnie? Należy pamiętać, że używam Asp.net MVC – Vyrotek
Powinieneś POSTingować do swoich metod kontrolera, aby wywołać usuwanie - i zweryfikować dane uwierzytelniające żądania (cookie/nazwa użytkownika/hasło/cokolwiek) przed wykonaniem usuwania. Zobacz post @ Schotime. –