Pull to refresh

Comments 11

Да, буду стараться писать больше.
UFO just landed and posted this here
Вам кажется, что токен слишком длинный, или что такая техника генерации и валидации токена усложнена? Если кажется, что длинный токен, то нужно помнить, что чем длиннее токен, тем меньше вероятность обойти его тупым подбором. Если же сама техника генерации/валидации усложнена, то я вот, более логичных реализаций csrf-токенов не вижу.
UFO just landed and posted this here
Ну здесь мы уже исходим из вывода, что безопасность всей системы равна ее самой слабой части. И вот, что бы токены не стали этой самой частью лучше пусть будут они хорошо укомплектованы. А вообще, мне кажется, что разработчики этой библиотеки опирались уже на математику и наверное, на свой опыт.
Раз уж вы озадачились просвещением нубов…
Я питонист. У нас тут все как-то устаканилось: Django, Flask, экзотика для любителей извращений.
С Go все совсем наоборот. За последний год раза три пытался поковырять, написал несколько небольших утилит. Но, что касается веба — полный фейл.
Насколько я понимаю, живее всех живых только ортодоксы, которые считают, что для веб-разработки достаточно стандартной библиотеки. Оно конечно можно, но. Если бы не было потребности, не писали бы фреймвоки.
А с фреймвоками в Go вообще беда. Попуглил, вроде как. Выбрал. Начинаешь разбираться… И тут, херак — выясняется, что за месяц оно уже все устарело и нынче на троне другой фреймвок.
Так что же есть пришедшее «в серьёз и на долго»? Что можно использовать для того, чтобы обучаясь переводить мелкие проекты и потом не пришлось их переписывать, ибо фреймвок сдох? Или еще подождать пока не устаканится?
Спасибо
фреймворки пишут не из-за потребности, а для упрощения (ускорения) разработки.
Стандартная библиотека Го предоставляет достаточный функционал для работы с вебом. Для отдельных вещей можно библиотеки подключить, например для websocket. На Го пишу в основном микросервисы, а там и без фреймворков хорошо.
Я не против фрейморков, но иногда складывается впечатление, что некоторые люди могут писать только на фреймворках, чистый язык их пугает.
Я когда начинал писать api на Go тоже глянул фреймворки, но в то время ничего такого не было тем более типа Django, поэтому взял за основу гориллу и дальше все руками писал,ORM тогда тоже не было. Сейчас хоть можно даже выбирать из нескольких штук. Так что я думаю в ближайшее время стоит ожидать некий монстрообразный фреймворк. Хотя сейчас уже есть некие решения но я их не пробовал и сказать ничего не могу.
Автору спасибо за статью!

Работает только с запросами, которые могут модифицировать данные и не работает с безопасными http методами (GET, HEAD, OPTIONS, TRACE).

И всё таки TRACE никак нельзя отнести к безопасным HTTP методам.

TRACE: This method simply echoes back to the client whatever string has been sent to the server, and is used mainly for debugging purposes. This method, originally assumed harmless, can be used to mount an attack known as Cross Site Tracing, which has been discovered by Jeremiah Grossman (OWASP).

Плюс, понятие безопасного HTTP метода, как-то режет слух. Сколько угодно приложений, где через GET запрос передаются токены/куки/etc, где GET запрос используется вместо POST-запроса, и т.д. и т.п.
Тут имелось ввиду, что эти запросы ничего не изменяют на стороне сервера. А только запрашивают. Слегка не точно перевел.
Sign up to leave a comment.

Articles