@nodejs_ru

Страница 2295 из 2748
Roman
14.07.2018
06:13:42
Решил разобраться в серверном рендеринге, пишу на React. Next.js лучшая библиотека на сегодняшний день для этого ?

Алексей
14.07.2018
07:23:24
можно не использовать jwt для аутентификации
Т.е. теоретически можно узнать id админа (к примеру), получить обычный подписанный токен при аутентификации и поменять в нем свой ид на ид админа и пользоваться правами админа?

Я правильно понимаю?

Google
Josh
14.07.2018
07:33:31
нет

Andrew
14.07.2018
07:33:55
Токен не образуется только на основе id

Если зайдешь в учетку админа и скопируешь токен даже

То не будет работать

Токен генерится на одну сессию

Sergei
14.07.2018
08:49:11
Есть канал для js тестировщиков или вопросы по юнит тестам тоже сюда?

Алексей
14.07.2018
08:50:39
Я открыл jwt.io две вкладки, там онлайн builder. В двух вкладках блок с моим JSON одинаковый, но разные сикрет ключи, в сгенерированных токенах соответственно тоже самое блок1.блок2(одинаковый).блок3(разный) Т.е. пользователь залогинился, получил токен (валидный), поменял в нём блок с инфой, отправил. И проверить ли это не подделанный токен можно только если каждый сохранять в бд, и искать по ид и токену

Т.е. идентифицировать пользователя только по токену нельзя

Алексей
14.07.2018
08:53:00
Да

Alexander
14.07.2018
08:53:29
а если он его не знает, то и не сможет сгенерировать нормальный блок3
с неправильным блоком токены сразу откидывает код

Google
Алексей
14.07.2018
08:53:34
Блин, я сейчас с телефона, блок 3 всегда разный?

Sergey
14.07.2018
08:53:55
ты сам написал что разный

Алексей
14.07.2018
08:54:09
Если сикрет одинаковый

Sergey
14.07.2018
08:54:18
но в рамках одного ключа и одних данных он будет одинаковый

Алексей
14.07.2018
08:55:11
Но третий блок же не зависит от данных

Я про это и говорю, что у всех пользователей валидный токен(третий блок), но разная инфа(второй блок), т.е без сохранения в БД токена с уникальной инфой, нельзя проверить токен на то ли он подделанный. Ведь со стороны токена он валидный если он не expired и если третий блок не подделан

И чтобы точно убедиться, что токен не подделан нужно сохранит его в БД с каким-нибудь уникальным значением, например случайным числом и и искать юзера по ид с токена и токену

Michel
14.07.2018
09:13:02
Jwt юзай и не нужны бд

Алексей
14.07.2018
09:18:40
Jwt юзай и не нужны бд
Но их же легко подделать

Michel
14.07.2018
09:19:02
Но их же легко подделать
Если secret key на одном сервере верификации и все через него идёт, то вроде бы норм

Алексей
14.07.2018
09:25:14
Токен валидный если он не expired и если блок с secret key не подделан. Соотвественно всем пользователям выдаётся валидный токен, но с разным вторым блоком (информацией). 2-ой блок можно декодировать и увидеть какая информация в нем храниться любому человеку(просто открыв сайт с base64 декодированием что-то такое). Можно написать свой 2-ой блок, и поменять его у валдного токене и отправить серверу, и для сервера токен останется валидный, так как третий блок никто не трогал. Соответсвенно без бд не обойтись Или я чего-то не знаю, не понимаю?

Вот как тут

lenar
14.07.2018
09:30:25
Это как?
https://proglib.io/p/json-tokens/

Sergei
14.07.2018
09:30:41
в payload вставляй закодированные данные

Алексей
14.07.2018
09:34:05
Спасибо за информацию, сейчас с телефона не могу посмотреть

Google
Jack
14.07.2018
09:34:24
единственный вариант это когда у тебя уже есть готовый токен другого юзера. в зависимости от expiered date, только тогда хоть какое время можно использовать чужой токен

а если конкретно то блоk 3 это HMACSHA256 (base64UrlEncode(блок1).base64UrlEncode(блок2), ваш_секрет) так что нереально, чтобы просто меняв payload, обмануть jwt

Алексей
14.07.2018
09:45:14
Спасибо за разъяснение

Sergey
14.07.2018
10:38:04
Я хочу сделать свой ютуб, какую бд для тяжеловесных файлов выбрать? Хранить в файловой системе? Какой?

Sergey
14.07.2018
10:39:36
Ext4 ок, а нужно ли дробить файлы для быстрой загрузки?

Или по областям памяти просто прыгатьи выдирать кусками?

Страшна, вырубай
По сути это все под паролем и только для меня и знакомых

Alexander
14.07.2018
10:41:33
fs.createReadStream

Sergey
14.07.2018
10:42:05
За тебя это потоки в ноде сделают
Тоесть остается только ими грамотно распоряжаться?

Alexander
14.07.2018
10:43:00
По большому счету, да

Sergey
14.07.2018
10:43:35
fs.createReadStream
Можно задать максимальный размер чанка и их максимальное количество?

Alexander
14.07.2018
10:43:57
Количество определится по размеру

А так да, можно определить

Sergey
14.07.2018
10:44:36
А так да, можно определить
В бд точно не стоит их хранить?

Google
Alexander
14.07.2018
10:44:39
fs.createReadStream это и так почти самый низкоуровневый доступ, который можно получить в ноде из жс

В бд точно не стоит их хранить?
В базе храни имя файла

Это оверхэд хранить его в базе

Sergey
14.07.2018
10:45:30
Azalion
14.07.2018
11:00:29
Vue.js — русскоговорящее сообщество Общаемся на темы, посвященные Vue.js и опыту его использования. Проблемы. Новости. Решения. См. также: @js_ru, @react_js, @angular_ru Вакансии только тут: @javascript_jobs https://t.me/vuejs_ru

Jack
14.07.2018
11:03:57
с vue все настолько плохо, что даже тут рекламируют ?

Павел
14.07.2018
11:14:06
Вопрос знатокам, есть класс class FOO extended SFOO {}

возможно по new FOO() на создавать новый SFOO а использовать имеющийся

Admin
ERROR: S client not available

Павел
14.07.2018
11:50:23
base() ?
что вы имеете в виду?

Mikhail
14.07.2018
11:50:30
Павел
14.07.2018
11:50:48
Сделать носледование от конкретного обхекта

Павел
14.07.2018
11:55:06
Object.assign()?
как вариант, наверное да. ВОобще хотелось бы конечно в объктном стиле

Евгений
14.07.2018
11:56:19
Павел
14.07.2018
11:56:45
class FOO {} но этот вариант, судя по всему мне подойдет

Alexander
14.07.2018
12:00:53
...?

Google
Alexander
14.07.2018
12:01:24
А шо если в обьекте развернуть класс???????

Дмитрий
14.07.2018
12:16:17
function Foo(){} Foo.prototype = { someMethod(){} someProperty: 'ok', } Foo.prototype.constructor = Foo

А шо если в обьекте развернуть класс???????
Прототипное наследование представлять через ооп в прототипно-ориентированном языке это абсурд

Alexander
14.07.2018
12:18:03
Я понял только язык и абсурд

Jack
14.07.2018
12:19:30
ооп это зло, функциональное программирование это будущее

Дмитрий
14.07.2018
12:20:29
В жс ни ооп ни фп, в жс совершенно особый случай

Евгений
14.07.2018
12:21:02
на фоне ооп

kor
14.07.2018
12:21:22
в чем плюсы фп?
Общаешься с бородатыми дядьками

Alexander
14.07.2018
12:21:51
https://t.me/js_noobs_ru
Не, пасиба

Jack
14.07.2018
12:22:02
в чем плюсы фп?
самый наглядный это краткость кода.

Евгений
14.07.2018
12:22:13
жс сам по себе краток

не питон, конечно, но и не джава

Dmitriy
14.07.2018
12:22:47
Толсто

Jack
14.07.2018
12:23:08
жс сам по себе краток
ну тогда напишите вы свой код в for , вместо reduce/map/foreach

Dmitriy
14.07.2018
12:23:12
Код на функциональном языке короче и понятнее кроме тех случаев, когда он длиннее и запутаннее.

Евгений
14.07.2018
12:23:40
Дмитрий
14.07.2018
12:23:56

Страница 2295 из 2748