Maks 
    
    
 
    
    Alexey Mishurovskiy 
    
    
        
        
        
        А кто как реализует CSRF у API (SPA)
    
 
    
    Юра 
    
    
        
        
        
        Не надо делать просто авторизацию куками
    
 
    
    Юра 
    
    
        
        
        
        Проверять реферер
    
 
    
    The Ant 
    
    
 
    
    Alexey Mishurovskiy 
    
    
        
                    
                        
                            
                            зачем?
                        
                    
                
        
        
        ПРоблема. есть приложения SPA есть регистрация пользователей. любой мамкин хакер берет скрипт и в цикле запускает запросы по API  на регистрацию. тем самым может натолкать хоть 15кк юзеров. 
        Т.к. это регистрация, то соответственно нет возможности ее убрать в защищенную область под кредами
    
 
 
    
    The Ant 
    
    
        
        
        
        что помешает хакеру добавить еще 1 запрос для получения токена?
    
 
    
    Юра 
    
    
        
        
        
        CORS
    
 
    
    The Ant 
    
    
        
        
        
        корс работает только в браузере :D
    
 
    
    Юра 
    
    
        
        
        
        А spa не в браузере работают?
    
 
    
    The Ant 
    
    
        
        
        
        ну так-то по апи можно долбится не тока со спашки. курлом например
    
 
    
    Юра 
    
    
        
        
        
        Ну отправит и что
    
 
    
    Юра 
    
    
        
        
        
        Он знает логин пароль?
    
 
    
    Юра 
    
    
        
        
        
        Тогда ничего не помешает
    
 
    
    The Ant 
    
    
        
        
        
        цсрф решит конечно проблему, но инчего не помешает ведь сначала получить токен, потом сделать запрос
    
 
    
    Юра 
    
    
        
        
        
        Если токен в куке, тогда хакер может со своего сервера отправить запрос на апишку, кука автоматически полетит вместе с запросом
    
 
    
    Юра 
    
    
        
        
        
        Ой
    
 
    
    Юра 
    
    
        
        
        
        Не то
    
 
    
    Юра 
    
    
        
        
        
        Хакер со своей страницы может отправить запрос на апишку
    
 
    
    Юра 
    
    
        
        
        
        Можно проверять реферер я так понимаю чтобы исключить такой сценарий
    
 
    
    Maksimus 
    
    
        
        
        
        Делай подтверждение регистрации - емейл или смс по телефону. Не подтвержденные аккаунты удалять через сутки например
    
 
    
    Maksimus 
    
    
 
    
    Юра 
    
    
        
        
        
        Как ты подделаешь реферер если его браузер выставляет
    
 
    
    Юра 
    
    
        
        
        
        Я не знаю какие браузеры не выставляют реферер
    
 
    
    Юра 
    
    
        
        
        
        Как он получит доступ к куке?
    
 
    
    Andrey 
    
    
 
    
    Юра 
    
    
        
        
        
        Что молча?
    
 
    
    The Ant 
    
    
        
        
        
        курл может запоминать куки если что
    
 
    
    The Ant 
    
    
        
        
        
        делаешь запрос на свой сервер, свой сервер делает запрос на целевое апи, с кукми и реферами
    
 
    
    Юра 
    
    
        
        
        
        Речь идет про csrf атаку
    
 
    
    The Ant 
    
    
        
        
        
        так она легко обходится
    
 
    
    Maksimus 
    
    
        
                    
                        
                            
                            молча
                        
                    
                
        
        
        Если Кука httpOnly - через браузер не получит доступ
    
 
 
    
    Юра 
    
    
 
    
    The Ant 
    
    
        
        
        
        чойто
    
 
    
    Юра 
    
    
        
        
        
        Потому что кука привязана к домену
    
 
    
    The Ant 
    
    
        
        
        
        я могу в запросе хост отправить :D
    
 
    
    The Ant 
    
    
        
        
        
        и еще там 1 заголовок... не помню точно )
    
 
    
    Maksimus 
    
    
        
                    
                        
                            
                            чойто
                        
                    
                
        
        
        Уточни проблему - хочешь предотвратить кучу фальшивых регистраций?
    
 
 
    
    Maksimus 
    
    
        
        
        
        Или защита авторизованных юзеров?
    
 
    
    Юра 
    
    
        
        
        
        Можно просто не хранить токен в куке чтоюы исключить такие проблемы
    
 
    
    Maksimus 
    
    
        
        
        
        Тогда только подтверждение регистраций - емейл, смс - не подтвержденные аккаунты удалять
    
 
    
    The Ant 
    
    
        
        
        
        ну и ratelimiter высталять для ипа, юзерагента
    
 
    
    Maksimus 
    
    
        
        
        
        + добавьте в форму регистрации Гугл капчу - снизите кол-во
    
 
    
    Алексей Анатольевич 
    
    
        
        
        
        В куки никто не хранит важные для безопасности данные, нарушая это правило, вы сами себе создаёте проблемы на ровном месте. Используйте средства api и https
    
 
    
    Alexander 
    
    
 
    
    Alexander 
    
    
        
        
        
        Cors совсем не про это
    
 
    
    Katulos 
    
    
        
        
        
        Или виртуалки на локалхосте
    
 
    
    Alexander 
    
    
 
    
    Katulos 
    
    
        
        
        
        Да я то как раз юзал fail2ban достаточно, чтобы больше не совершать этой ошибки
    
 
    
    Katulos 
    
    
        
        
        
        Вижу у вас там "хайдоад" в анкете, а почему то про fail2ban пишете 😁
    
 
    
    Alexander 
    
    
        
        
        
        Потому что речь про мамкиного хакера, а от него достаточно феилтубана
    
 
    
    Alexander 
    
    
        
        
                    
                
        
        Подкраватный сервер работает и не шуршит, перебанил полторы тысячи айпи за 5 минут. Про хайлоад тут вопросов не было.
        
        Если у вас с каким-то инстурментом случился неудачный опыт, это не повод бегать по интернету и приставать к людям с глупыми вопросами.
    
 
 
    
    slo_nik 
    
    
        
        
        
        Добрый вечер.
        Подскажите, как решить проблему?
        Обновил проект symfony 5.3.9
        Появилась ошибка 
        Attempted to call an undefined method named "fetchColumn" of class "Doctrine\DBAL\Result".
        Ругается на knp-components, вот на эту строку
        
        https://github.com/KnpLabs/knp-components/blob/f06a6ebea71a91c8cd34213f9417004062133627/src/Knp/Component/Pager/Event/Subscriber/Paginate/Doctrine/DBALQueryBuilderSubscriber.php#L41
    
 
    
    Alexey Mishurovskiy 
    
    
 
    
    Юра 
    
    
 
    
    Юра 
    
    
        
        
        
        Он вроде давно висит в депрекейтед
    
 
    
    Юра 
    
    
        
        
        
        Если баг не у тебя то пиши ишью и отказывайся назад либо сделай форк и поправь
    
 
    
    slo_nik 
    
    
 
    
    slo_nik 
    
    
        
        
        
        Именно в нём идёт обращение к несуществующему методу
    
 
    
    Юра 
    
    
        
        
        
        Значит баг бадла что он зависит от версии симфы с которой не работает
    
 
    
    Alexey Mishurovskiy 
    
    
        
        
        
        https://symfony.com/doc/current/rate_limiter.html кто то юзал?
    
 
    
    Юра 
    
    
        
        
        
        Симфа?
    
 
    
    Dmitry 
    
    
 
    
    slo_nik 
    
    
        
                    
                        
                            
                            composer why doctrine/dbal
                        
                    
                
        
        
        Это я сделал, но всё равно не понятно, как выбирается пакет.
        Выдача в консоли
        doctrine/doctrine-bundle  2.4.3   requires   doctrine/dbal (^2.9.0|^3.0)        
        doctrine/migrations       3.3.0   requires   doctrine/dbal (^2.11 || ^3.0)      
        doctrine/orm              2.10.1  requires   doctrine/dbal (^2.13.1 || ^3.1.1)  
        symfony/cache             v5.3.8  conflicts  doctrine/dbal (<2.10)              
        symfony/doctrine-bridge   v5.3.8  conflicts  doctrine/dbal (<2.10)
        
        Последние два пакета не требуют dbal > 2.10, в проекте эти пакеты установлены, но всё равно dbal обновился до 3.1.1
    
 
 
    
    Dmitry 
    
    
 
    
    Юра 
    
    
        
        
        
        Вопрос почему кмп бандл указал не поддерживаемую версию
    
 
    
    Юра 
    
    
        
        
        
        Оно должно было ругнуться что не может обновить
    
 
    
    slo_nik 
    
    
 
    
    Alexey Mishurovskiy 
    
    
        
        
        
        может просто не пользоваться KNP? )
    
 
    
    Юра 
    
    
        
        
        
        У доктрины есть свой пагинатор
    
 
    
    Юра 
    
    
        
        
        
        Я его юзаю