@proGO

Страница 1562 из 1674
Человек
12.07.2018
18:39:04
Здравствуйте, как можно узнать онлайн ли ПК? (включена машина или выключена)

Человек
12.07.2018
18:44:06
Пинг?
Так пингует же маршрутизатор, а не ПК и если маршрутизатор будет включен значит ты онлайн, а я не думаю что кто-то выключает маршрутизатор на ночь

Google
Человек
12.07.2018
18:44:11
Пинг?
Или я не прав?

yuriy
12.07.2018
22:28:32
https://heroiclabs.com/docs/ Кто то пользовал из чата? Хочу форкнуть чтобы без lua только на go логику писать

Tatiana
13.07.2018
02:19:41
hr ?
с какой стати???

www.linkedin.com/in/tatiana-e

Daniel
13.07.2018
02:55:40
Так их!

ros
13.07.2018
05:11:53
просто есть мысль или делать питон скрипт управления айпитейблс или на го что то
накой там фаерволом рулить когда достаточно обычного проксирования типа того https://github.com/ros-tel/simple-proxy

Daniel
13.07.2018
05:13:46
iptables будет лучше справляться

ros
13.07.2018
05:16:11
зависит от того нужна ли та производительность

Daniel
13.07.2018
05:17:14
не зависит, на самом деле

Marperia
13.07.2018
05:54:47
Здравствуйте, у вас тут принято представляться?

Google
Daniel
13.07.2018
05:55:30
давно уже никто не

Marperia
13.07.2018
05:56:05
Ничего, я как раз только что одну анкету в другом чате заполнил. ▫️У меня несколько проектов, от open-source криптобиржи и open-source криптомагазина до искуственного интеллекта и приложения для выработки привычек. Конкретно сейчас работаю над безблочной криптовалютой. ▫️Специалист-шмециалист. Везде по чуть-чуть: безопасность, web-highload, криптовалюты, медицина и маркетинг. ▫️Польза для сообщества конкрено от меня в генерации идей и корявой их реализации, но если тут есть страждущие помочь — с этим уже можно работать. ▫️Мне интересно получать ответы опытных специалистов в неоднозначных вопросах, а также найти контрибьютеров под некоторые проекты.

Сходу вопрос: как у вас реализована авторизация? Если можно, было бы здорово посмотреть куски кода.

Daniel
13.07.2018
06:03:25
авторизация чего?

Dmitri
13.07.2018
06:04:11
Смотрю в статистику чатика: 1692 members. Представил представление от каждого... Собственно, почему бы и нет, само по себе контент)

Marperia
13.07.2018
06:06:18
авторизация чего?
На сайте, конечно. Или в приложении. А какая разница?

Daniel
13.07.2018
06:06:58
есть подозрение, что вы аутентификацию с авторизацией путаете :)

Marperia
13.07.2018
06:07:27
Сам факт того, что я не могу использовать токены для доступа к приложению говорит о том, что мне нужна регистрация + авторизация. По-моему, вне зависимости от типа приложения она реализуется похожим образом. Да-да, вы молодец, я идиот, мне нужна аутентификация.

Daniel
13.07.2018
06:07:52
еще раз

авторизация на большинстве сайтов тривиальная: зашел и видишь все. отдельно авторизуется только личный кабинет

по логину и паролю бывает не авторизация, а аутентификация

:)

устроена она, в общем, двумя способами

или хранение сессии в базе, или JWT-подобные решения

у обоих вариантов есть недостатки

Marperia
13.07.2018
06:11:36
у обоих вариантов есть недостатки
А можно поподробнее? Я знаю только про два: В случае сессий ID этой сессии нужно где-то хранить, как правило в memcached или redis. А в случае JWT... Ну, тут я вообще нуб. Разве что токен нужно обновлять автоматически, да. Но и сессию, кажется, тоже?

Daniel
13.07.2018
06:12:23
в случае jwt у вас нет возможности разлогинить пользователя

пока валиден jwt - позможен вход

Marperia
13.07.2018
06:13:28
А как реализуется обновления токена раз в N минут?

Daniel
13.07.2018
06:13:49
на сайте все просто - на каждый запрос выдаем новый

Google
Marperia
13.07.2018
06:15:17
Т.е. писать middleware, в котором, если токен валидный, то выдать новый? А время обновления токена? Я на стаковерфлоу видел токен со сроком действия 5 минут и периодом обновления 4, но по-моему там несколько иной случай.

Daniel
13.07.2018
06:16:50
ну я делаю так обычно: скользящий ключ, период ротации задается в конфиге

все токены, подписанные невалидным ключем, становятся невалидны автоматически

получается и безопасно достаточно, и автоматический разлогин по неактивности

Marperia
13.07.2018
06:18:20
А если во время пересоздания ключа юзеры находятся на сайте, их выкинет?

Daniel
13.07.2018
06:18:46
в любой момент времени активны два ключа - старый и новый

проверяются оба

Marperia
13.07.2018
06:21:39
Это уже что-то. Пользователь при этом сможет оставаться в системе на двойное время жизни ключа, если он не залогинен во время смены?

Daniel
13.07.2018
06:23:18
на время жизни одного ключа - того, которым подписан его последний токен

подписываются токены всегда новым ключем

Dmitriy
13.07.2018
06:24:53
ну я делаю так обычно: скользящий ключ, период ротации задается в конфиге
А зачем так сложно? Или у вас это некий аналог рефреш токена?

Daniel
13.07.2018
06:25:24
я не знаю способа проще без хранения сессии в базе

Dmitriy
13.07.2018
06:29:38
я не знаю способа проще без хранения сессии в базе
А разве jwt это не про проверку токена на каждый запрос (и данных его по базе (или сессии))? Или я что-то путаю?

Daniel
13.07.2018
06:30:06
проверка на каждый запрос, но без базы, криптографически

Dmitriy
13.07.2018
06:31:23
Ага, спасибо, понял! Всегда добавлял сверху проверку по базе просто, чтобы можно было управлять отзывом ключа)

Daniel
13.07.2018
06:31:35
ну вот да

Никита
13.07.2018
07:01:50
или хранение сессии в базе, или JWT-подобные решения
У меня сейчас авторизация происходит через отправку токена пользователем при каждом запросе. Этот токен каждый раз проверяется в хэндлерах. Можно ли как то улучшить способ авторизации?

Сам токен привязан к пользователю в БД.

Никита
13.07.2018
07:03:58
Нет

Google
Никита
13.07.2018
07:04:18
У пользователя есть токен, с которым он совершает все запросы

Dmitriy
13.07.2018
07:04:32
ааа, все понял, клиент отправляет токен каждый раз) без запятых не правильно проситал)

Marperia
13.07.2018
07:12:54
Кстати, а какие параметры вы передаёте в JWT и почему? Я вот ID для запросов к БД, роль (админ/нет) для доступа к админке, аффилиата для начисления процентов и имя пользователя для отображения, и всё это прямо в токене, без лишнего запроса к БД. А ещё время начала и окончания действия токена.

Marperia
13.07.2018
07:15:18
тут все сугубо субъективно и зависит от конкретной задачи
На стаковерфлоу за такой ответ вряд ли бы проголосовали.

Dmitriy
13.07.2018
07:18:39
ну а какой ответ вы хотите? скажем есть проект, с множеством платежных мерчантов и пользователи привязываются к ним, у мерчантов есть проценты возгараждения, комиссии и курсы. для данного проекта будет удобно в токен пользователя загрузить всю информацию, которая ему нужна для оперативной работы. а есть другой проект, скажем бложик, где есть только пользователь без нагромаждения доп. сущностей, там соответственно будет более чем достаточно передачи в токене ID пользователя + какого-то текстового поля для отображения на фронте. формулируйте вопрос как можно более конкретно иначе будете получать ответы за которые бы на стековерфлоу не проголосовали бы)))

Marperia
13.07.2018
07:20:29
Никита
13.07.2018
07:23:44
Что значит "улучшить"? Какие именно моменты не нравятся в такой схеме?
Даже не знаю, честно говоря. Думал, может есть способ сделать авторизацию получше

Евгений
13.07.2018
07:24:45
Ее трудно улучшить без конкретного понимания проблем. Т.к. улучшая одно. сделаешь хуже другое и непонятно, что важнее.

Схема норм. НО - не храните ничего более критического чем нужно - все данные могут быть прочитаны - обратите внимание на подпись и ключи - если не повезет, то вам еще и запишут туда любые права и все поломают - подумайте какие данные вы можете случайно раскрыть и сделать подбираемыми - например, id юзеров, каких-то объектов,котрые потом можно будет вытащить и пр - как отзывать токен? Или это не требуется?

Никита
13.07.2018
08:20:26
Как правильно выставить для БД следующие значения: SetConnMaxLifetime() SetMaxOpenConns() SetMaxIdleConns()

Anton
13.07.2018
08:23:18
полагаю, что при инициализации приложения

это разговор про пул идет?

Никита
13.07.2018
08:23:50
Вопрос не в том, когда это делать

А в том, какие значения ставить

как понять, какие значения нужно выставить

Anton
13.07.2018
08:24:12
эмпирически)

Никита
13.07.2018
08:24:27
Не очень рабочий метод

Google
Anton
13.07.2018
08:24:31
а коде есть какие-то дефолты?

Никита
13.07.2018
08:24:31
Пробовал так

Daniel
13.07.2018
08:24:41
А в том, какие значения ставить
это зависит от вашей нагрузки в первую очередь

Никита
13.07.2018
08:25:16
Ну допустим 1к запросов в секунду.

Anton
13.07.2018
08:25:31
вам нужна волшебная формула?

Никита
13.07.2018
08:25:43
Желательно да

Anton
13.07.2018
08:25:51
))

Никита
13.07.2018
08:25:51
Методом подбора не очень хороший способ

Anton
13.07.2018
08:26:07
методом осознанного подбора (эмпирически)

Никита
13.07.2018
08:26:26
Ну я осознанно подбирал

И одни значения могут выдавать разный результат

Anton
13.07.2018
08:26:45
а в чем выражается нерабочесть подобранных параметров?

чем они не устраивали?

Никита
13.07.2018
08:27:16
Первый раз выдавало 3к запросов в секунду, второй 4.5, третий 3.5. И все при одних и тех же значениях.

Не то чтобы не устраивали, сколько я хочу понять как это работает

Страница 1562 из 1674