
Alexander
14.07.2018
05:24:14

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(разный)
Т.е. пользователь залогинился, получил токен (валидный), поменял в нём блок с инфой, отправил.
И проверить ли это не подделанный токен можно только если каждый сохранять в бд, и искать по ид и токену
Т.е. идентифицировать пользователя только по токену нельзя

Sergey
14.07.2018
08:51:30
блок3 генерируется на основе ключа, который пользователь не знает
а если он его не знает, то и не сможет сгенерировать нормальный блок3

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

Alexander
14.07.2018
08:53:29

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

Michel
14.07.2018
09:19:02

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

lenar
14.07.2018
09:27:54

Алексей
14.07.2018
09:29:49

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

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

Jack
14.07.2018
09:32:09

lenar
14.07.2018
09:32:59

Алексей
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
Спасибо за разъяснение

Сергей
14.07.2018
10:16:12

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

Alexander
14.07.2018
10:38:24
Ну можешь и на ntfs

Alexander
14.07.2018
10:38:55

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

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

Sergey
14.07.2018
10:53:50

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

Alexander
14.07.2018
11:42:56

Mikhail
14.07.2018
11:49:57

Павел
14.07.2018
11:50:23

Mikhail
14.07.2018
11:50:30

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

Mikhail
14.07.2018
11:53:44

Павел
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

Jack
14.07.2018
12:22:02

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

Дмитрий
14.07.2018
12:22:36

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

Jack
14.07.2018
12:23:08

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

Евгений
14.07.2018
12:23:40

Дмитрий
14.07.2018
12:23:56