Czy usługi internetowe JSON są podatne na ataki CSRF?

Buduję usługę internetową, która używa wyłącznie JSON do treści żądania i odpowiedzi (tzn. Nie zawiera danych zakodowanych w formie).

Czy usługa sieci Web jest podatna na atak CSRF, jeśli są prawdziwe?

KażdyPOST żądanie bez obiektu JSON najwyższego poziomu, np.{"foo":"bar"}, zostanie odrzucony z 400. Na przykład, aPOST żądanie z treścią42 zostanie zatem odrzucony.

KażdyPOST żądanie z typem zawartości innym niżapplication/json zostanie odrzucony z 400. Na przykład, aPOST żądanie z typem zawartościapplication/x-www-form-urlencoded zostanie zatem odrzucony.

Wszystkie żądania GET będąBezpieczny, a tym samym nie modyfikować żadnych danych po stronie serwera.

Klienci są uwierzytelniani za pomocą cookie sesji, który usługa sieciowa udostępnia im po podaniu prawidłowej pary nazwa użytkownika / hasło za pośrednictwem POST z danymi JSON, np.{"username":"[email protected]", "password":"my password"}.

Pytanie pomocnicze: ArePUT iDELETE wnioski kiedykolwiek narażone na CSRF? Pytam, ponieważ wydaje się, że większość (wszystkich?) Przeglądarek uniemożliwia stosowanie tych metod w formularzach HTML.

EDYCJA: Dodano element # 4.

EDIT: Wiele dobrych komentarzy i odpowiedzi do tej pory, ale nikt nie zaproponował konkretnego ataku CSRF, na który ta usługa internetowa jest podatna.

questionAnswers(5)

yourAnswerToTheQuestion