Size: a a a

Angular - русскоговорящее сообщество

2021 February 27

RM

Rustam M in Angular - русскоговорящее сообщество
Igor' Ember
Есть текстовое содержание. Мб много слов. Изначально нужно покаызвать урезанную версию, затем, после нажатия на иконку, _плавно_ раскрывать весь текст. И чтобы эта анимация в двух направелниях работала (на открытие и закрытие).
Размер (высота) заранее не известен. Сокращать текст нужно не до нуля, а до определённой границы.
Хоть бы мне такую задачу не подкинули, я лучше тесты попишу, нежели ад с css)
источник

IE

Igor' Ember in Angular - русскоговорящее сообщество
https://stackblitz.com/edit/animated-div-height-jloq1q?file=src%2Fapp%2Fapp.component.ts
Хм, пока получилось в одном направлении воспроизвести. Буду дальше пробовать.
источник

М

Максим in Angular - русскоговорящее сообщество
Народ, а как защитить запросы с фронта на бек? Можно ли в конфигах фронта запилить ключ, который не увидет пользователь, хешить запрос+ключ и сверять на беке хеши?
или есть готовые решения? csrf вроде для форм, а у меня при загрузке сайта много запросов на бекенд идет
Не хочется чтобы мне заспамили базу, почти везде я обращаюсь к бд
источник

IE

Igor' Ember in Angular - русскоговорящее сообщество
Максим
Народ, а как защитить запросы с фронта на бек? Можно ли в конфигах фронта запилить ключ, который не увидет пользователь, хешить запрос+ключ и сверять на беке хеши?
или есть готовые решения? csrf вроде для форм, а у меня при загрузке сайта много запросов на бекенд идет
Не хочется чтобы мне заспамили базу, почти везде я обращаюсь к бд
jwt, не?
источник

М

Максим in Angular - русскоговорящее сообщество
это не авторизация/аутентификация
источник

М

Максим in Angular - русскоговорящее сообщество
это лендинг пейдж с трекингом в БД событий/действий юзера
источник

RM

Rustam M in Angular - русскоговорящее сообщество
Максим
Народ, а как защитить запросы с фронта на бек? Можно ли в конфигах фронта запилить ключ, который не увидет пользователь, хешить запрос+ключ и сверять на беке хеши?
или есть готовые решения? csrf вроде для форм, а у меня при загрузке сайта много запросов на бекенд идет
Не хочется чтобы мне заспамили базу, почти везде я обращаюсь к бд
Таймаут на запросы?

Каптча
источник

М

Максим in Angular - русскоговорящее сообщество
Та ну. Чтобы открыть сайт - вводит каптчу? 🙂
источник

АФ

Андрей Фастовский... in Angular - русскоговорящее сообщество
Капчу с велосипедами! 😡
источник

RM

Rustam M in Angular - русскоговорящее сообщество
Максим
Та ну. Чтобы открыть сайт - вводит каптчу? 🙂
Ааа, я про формы мыслил, тогда тебе защиту от Dos?

cloudflare
источник

М

Максим in Angular - русскоговорящее сообщество
Приведу пример.
Я получаю юзерид из кук. при открытии сайта я вычитываю куки, делаю запрос на бек, и он мне возвращает проранжированный контент для этого юзера, анализируя его историческое поведение.
Так вот если это апи перехватят и зациклят - моя процедура, которая анализирует историю просто завалит сервер
источник

АФ

Андрей Фастовский... in Angular - русскоговорящее сообщество
мб на бэке проще ограничить трафик?
источник

MM

Maybe Max in Angular - русскоговорящее сообщество
Максим
Приведу пример.
Я получаю юзерид из кук. при открытии сайта я вычитываю куки, делаю запрос на бек, и он мне возвращает проранжированный контент для этого юзера, анализируя его историческое поведение.
Так вот если это апи перехватят и зациклят - моя процедура, которая анализирует историю просто завалит сервер
только ограничения на бэке/защита от ддоса как выше пишут, на фронте ничего не скрыть
источник

М

Максим in Angular - русскоговорящее сообщество
у меня есть идея, но ее можно сделать, если есть вариант скрыть от пользователей ключ

Есть запрос. Я знаю ключ.
Я делаю base64(body+key+timestamp) - получаю abrakadabra
на бекенд отправляю
/api/getinfo/abrakadabra/timestamp
body

бекенд тоже знает ключ, и ему от меня пришел body и timestamp
он делает то же самое base64(body+key+timestamp)
и получается abrakadabra = abrakadabra - то есть ок.
НО
дополнительно он смотрит на timestamp, если прошло n сек - запрос считается старым и он его отбивает
источник

М

Максим in Angular - русскоговорящее сообщество
и отсюда главный вопрос - есть ли варианты, как скрыть key
источник

IE

Igor' Ember in Angular - русскоговорящее сообщество
Igor' Ember
Есть текстовое содержание. Мб много слов. Изначально нужно покаызвать урезанную версию, затем, после нажатия на иконку, _плавно_ раскрывать весь текст. И чтобы эта анимация в двух направелниях работала (на открытие и закрытие).
Размер (высота) заранее не известен. Сокращать текст нужно не до нуля, а до определённой границы.
Разобралась, работает как часы и просто настраивается.
Помню, раньше приходилось возиться на css с анимированием height, и либо js задействовать, либо слишком радикальные допущения делать. Как хорошо, что эту тему в анимациях ангуляра сделали нормально
источник

RM

Rustam M in Angular - русскоговорящее сообщество
Максим
Приведу пример.
Я получаю юзерид из кук. при открытии сайта я вычитываю куки, делаю запрос на бек, и он мне возвращает проранжированный контент для этого юзера, анализируя его историческое поведение.
Так вот если это апи перехватят и зациклят - моя процедура, которая анализирует историю просто завалит сервер
Ну и пусть перехватывают, и ?

Бэк, апи, это задачи не фронта.

К тому же есть много инструментов для защиты апи, и по умолчанию там задержки запросов есть у клиентов. Вроде у поп фреймов по умолчанию.
источник

RM

Rustam M in Angular - русскоговорящее сообщество
Это типа яндекс счетчика, вебвизора
источник

АФ

Андрей Фастовский... in Angular - русскоговорящее сообщество
Максим
у меня есть идея, но ее можно сделать, если есть вариант скрыть от пользователей ключ

Есть запрос. Я знаю ключ.
Я делаю base64(body+key+timestamp) - получаю abrakadabra
на бекенд отправляю
/api/getinfo/abrakadabra/timestamp
body

бекенд тоже знает ключ, и ему от меня пришел body и timestamp
он делает то же самое base64(body+key+timestamp)
и получается abrakadabra = abrakadabra - то есть ок.
НО
дополнительно он смотрит на timestamp, если прошло n сек - запрос считается старым и он его отбивает
вы описали jwt в упрощенном виде)
источник

М

Максим in Angular - русскоговорящее сообщество
Андрей Фастовский
вы описали jwt в упрощенном виде)
может) хз. то есть никак не скрыть ключ?
значит придется отбивать по всяким headers на беке?:(
источник