Ответы пользователя по тегу CSRF
  • Что за странные запросы на django development server?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Интернет полон роботов, которые непрерывно сканируют все доступные адреса. Если адрес откликается, роботы проверяют доступность распространённых портов и отправляют в них проверочные запросы. Если на какой-то из запросов возвращается ожидаемый ответ, то робот записывает в лог, что по адресу такому-то на порту таком-то доступен сервис такой-то. А потом другой робот по этому логу будет травить сервисы эксплоитами в попытках их взломать. Чаще всего с целью присоединения к ботнету. Конкретно доступность файла picsdesc.xml по протоколу HTTP - это признак запущенного демона miniigd из Realtek SDK.
    Ответ написан
    Комментировать
  • Почему не работает защита от межсайтового скриптинга в spring security?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Всё правильно, вы в ajax-запросе не передаёте csrf-token, соответственно, он выглядит как злономеренный и не обрабатывается. Про это есть в документации.

    <html>
        <head>
            <meta name="_csrf" content="${_csrf.token}"/>
            <meta name="_csrf_header" content="${_csrf.headerName}"/>
            ...
        </head>
        ...
    </html>


    var csrfHeaderName = "X-CSRF-TOKEN";
    var csrfTokenValue;
    
    var metaTags = document.getElementsByTagName('meta'); 
    for(var i = 0; i < metaTags.length; i++) {
        var metaTagName = metaTags[i].getAttribute("name");
        if(metaTagName === "_csrf_header")
            csrfHeaderName = metaTags[i].getAttribute("content");
        if(metaTagName === "_csrf")
            csrfTokenValue = metaTags[i].getAttribute("content");
    }
    
    ...
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "userChangeTariff?tariffId=" + num1 + "&contractNumber=" + num2, false);
    xhr.setRequestHeader(csrfHeaderName, csrfTokenValue);
    xhr.send();
    Ответ написан
    1 комментарий
  • Если в форме Django приложения поставил защиту csrf нужна ли капча?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    CSRF protection защищает от межсайтовой подделки запроса, но не гарантирует, что запрос не отправляется роботом. Например, наличие csrf-токена в форме обратной связи никак не помешает моему боту отправить эту форму тысячу раз, забив почту операторов спамом.
    Ответ написан
    2 комментария