• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wysyłanie pliku na serwer przez Spring Security i zaBezpieczenie CSRF

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+1 głos
353 wizyt
pytanie zadane 7 maja 2017 w Java przez Jonki Dyskutant (8,180 p.)

Posiadam w serwisie formularz za pomocą którego przesyłam na serwer plik.

<form th:action="@{/user/settings/changeBasicData}" th:object="${changeBasicDataDTO}" method="POST"
                          class="form-horizontal" role="form" enctype="multipart/form-data">
                        <!-- left column -->
                        <div class="col-md-4 col-sm-6 col-xs-12">
                            <div class="text-center">
                                <img id="avatar" th:src="@{${session.user.getUrlAvatar()}}"
                                     class="avatar img-circle img-thumbnail" alt="avatar">
                                <h6>Upload a different photo...</h6>
                                <input th:name="multipartFile" type="file" class="text-center center-block well well-sm">
                            </div>
                        </div>
                        <!-- edit form column -->
                        <div class="col-md-8 col-sm-6 col-xs-12 personal-info">
                               ............                             
                        </div>
                            <div class="form-group">
                                <label class="col-md-3 control-label"></label>
                                <div class="col-md-8">

                                    <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
                                    <button type="submit" class="btn btn-success btn-lg" id="btnSignIn">
                                        Save Changes
                                    </button>
                                    <span></span>
                                    <input class="btn btn-default" value="Cancel" type="reset">
                                </div>
                            </div>
                        </div>
                    </form>

Jak widać mam wpisaną regułkę

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>

mimo to podczas wysyłania pliku strona wyrzuca

 Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.

Wspomnę, że np logowanie i rejestracja normalnie przechodzi. A formularz, który przesyła pik już nie działa.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 248 wizyt
pytanie zadane 3 sierpnia 2017 w Java przez Jonki Dyskutant (8,180 p.)
0 głosów
2 odpowiedzi 648 wizyt
+1 głos
1 odpowiedź 214 wizyt

93,439 zapytań

142,431 odpowiedzi

322,674 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...