@MongoDBRussian

Страница 326 из 342
никогда не слушайте
08.10.2018
10:37:41
Если правильно сделать то не дырявый. Там же данные открытые, их можно подменить но не выйдет переподписать, нужны правильные проверки ну и всё такое
Ну как обычно, надо правильно готовить) Я мельком этот холивар читал, там столько грязи было :D Пожалуй, этот канал, самый спокойный что я встречал)

никогда не слушайте
08.10.2018
10:42:16
для начала определитесь что вам нужно, хранит ьпросто пароли не в открытом виде, или все данные пользователя сделать недосутпными для других людей
Сначала первое. В общем, у меня есть уже готовая страничка написанная на реактив, где есть де формы, регистрация и вход. Пока, мне достаточно было бы иметь возможность зарегистрировать нового пользователя и после успешной авторизации вывести его имя типа "ХЕЛЛО НОУНЕЙМ")

Step-by-step как говорится)

Google
Nick
08.10.2018
10:43:42
если вы начинаете озабачиваться о безопасности, то стоит расписат ьвектор атак от которых вы хотете защититься, этакая модель угроз. относительно ее уже дальше проектироват ьвсю систему. без этого все бессмысленно.

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

никогда не слушайте
08.10.2018
10:45:31
Ну, у меня пожалуй весьма стандартный стек. 0. Челок получивший доступ к бд не мог получить пароль пользователя 1. Обезопасить себя, от слива всей базы 2. Новый пользователь не мог иметь доступа к записям чужого пользователя

Короче, я понял, первое что мне нужно, это зашифровать пароли)

Nick
08.10.2018
10:47:57
это самое простое, а вот второе и третье - это уже больше организационные методы и предотвращение эксплойтов на стороне приложухи. ведь абсолютно бессмысленно упарываться в безопасность, если на сервак можно залит ьфайлик и потом его удаленно запустить

никогда не слушайте
08.10.2018
10:49:47
Ну, дело в том, что я позиционирую свой проект больше как портфолио и глубоко углубляться в безопасность мне бы не хотелось, все таки, это уже работа тех людей, который настраивают сервера, а пока, все у меня крутиться на локальной машинке.

Nick
08.10.2018
10:50:00
в хорошо спроектированной софтине и полностью лояльной команде админов можно полностью исключить настройку безопасности за приложухой (БД, всякие файлопомйки и т.п.)

никогда не слушайте
08.10.2018
10:51:36
Ладно. Для старта. Мои текущие действия. Я создаю коллекцию зарегистрированных пользователей с зашифрованными паролями. А дальше вернусь уже дальше вопросики свои задавать)

Nick
08.10.2018
10:52:38
ага, пока не надо на это распыляться, просто держать в голове что этим надо будет озаботиться

AstraSerg
08.10.2018
11:02:02
Короче, я понял, первое что мне нужно, это зашифровать пароли)
Лучше захешировать с солью. Что бы даже в теории нельзя было получить исходный пароль.

никогда не слушайте
08.10.2018
11:02:25
Лучше захешировать с солью. Что бы даже в теории нельзя было получить исходный пароль.
Ну на счет этого я в курсе. Щас буду гуглить как это правильно сделать Node

KhuzhA.GQ
08.10.2018
11:04:56
Ребят, а как искать по айди объекта в бд? Делаю вот так: db.collection('complete').find({_id: objId}).toArray() - не находит. *objId == айди объекта в формате 5bbb37a64631322f2c819606

AstraSerg
08.10.2018
11:05:07
Соль — это не секрет и метод — это не секрет. По этому поводу можно почитать как сделана аутентификация в *nix системах. Ща ссыль поищу....

Google
Nick
08.10.2018
11:08:10
Ребят, а как искать по айди объекта в бд? Делаю вот так: db.collection('complete').find({_id: objId}).toArray() - не находит. *objId == айди объекта в формате 5bbb37a64631322f2c819606
вам нужно указаться объект типа ObjectID, чтобы по нему искало. он делается из строки которую указали

KhuzhA.GQ
08.10.2018
11:09:03
Все ещё на нативном драйвере сидишь?
хочу перейти, но все руки не доходят на этой недельке, думаю, успею

Nick
08.10.2018
11:10:18
зависит от языка и драйвера, проще всего в доке найти пример

никогда не слушайте
08.10.2018
17:47:04
Ох, что-то странное происходит. В общем. Тут лучше гистами уже отправлять. Вот так я создал экземпляр своего соединения https://gist.github.com/demidborodin/39f9588b611c374a48657ec685bfc242

Я принимаю пост запрос, с другого сервера, в первый раз все окей, но стоит отправить запрос повторно



Ну и вот код моего супер сложного сервера))) https://gist.github.com/demidborodin/515c57937780c31435db1375163f10ba Есть какие нибудь идеи

никогда не слушайте
08.10.2018
17:49:47
Хм, ну что бы создать "экземпляр" коннекта и потом его во все модули таскать, куда мне нужно...

Alexander
08.10.2018
17:49:47
а вообще, я бы взял монгуз

никогда не слушайте
08.10.2018
17:50:40
Alexander
08.10.2018
17:50:51
ну, читабельнее код, это для начала

никогда не слушайте
08.10.2018
17:52:57
Ну у меня привычка давно такая. Сначала либы, потом константы, потом модуль который я экспортирую.

Суть дела это вроде не меняет)

Alexander
08.10.2018
17:53:38
Суть дела это вроде не меняет)
лан, у тебя какая монга то?

Google
никогда не слушайте
08.10.2018
17:53:55
4.0.2

KhuzhA.GQ
08.10.2018
17:54:41
вечер добрый! Подскажите, пожалуйста, при каких обстоятельствах (как надо налажать) может не находиться объект в монгe? Пишу bot.action(/sendLoc_*/, (ctx) => { let objId = ctx.match.input.substr(8) ctx.answerCbQuery() console.log(objId) db.collection('complete').find({orderId: objId}).toArray() .then((src) => { console.log(src) bot.telegram.sendLocation(62253745, src[0].location.latitude, src[0].location.longitude) }) .catch((err) => console.log(err)) }) , выходит пустой массив. Смотрю в комассе, там точно есть объект, который мне нужен и в нужной коллекции

никогда не слушайте
08.10.2018
17:58:56
Я второй день или третий уже с монго бадаюсь и пока я не стремлюсь за качеством кода... мне бы как бы, пришли данные, проверить данные, записать данные... на данном этапе меня вроде как больше ничего не интересует)

кроме как ошибки в консоле)

KhuzhA.GQ
08.10.2018
18:02:08
Может типы orderId и objId разные? Число и строка например
Блин, реально. Не представляете, как я благодарен Вам:)

Alexander
08.10.2018
18:03:03
Блин, реально. Не представляете, как я благодарен Вам:)
ты везде будешь по кусочкам спрашивать про бота своего?

никогда не слушайте
08.10.2018
18:03:44
KhuzhA.GQ
08.10.2018
18:04:01
ты везде будешь по кусочкам спрашивать про бота своего?
по соответствующим теме вопроса чатам, в телеграфе же возмущаться начали, шо не по теме

AstraSerg
08.10.2018
18:09:12
Не, я спрашиваю ваши запросы если в консоли выполнить, работает?

никогда не слушайте
08.10.2018
18:10:45
Ща через Postman попробую. Я по факту ничего не делаю. Просто перехожу по урлу, открываю коннект, закрываю коннект. Все...

Никаких запросов и т.д.

AstraSerg
08.10.2018
18:12:04
Просто я в монгузе, как ? в апельсинах :)

никогда не слушайте
08.10.2018
18:24:16
Да дичь какая-то...

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

Ща пойду ишью почитаю

Google
никогда не слушайте
08.10.2018
18:25:51
М, кайф, у них ишью нет...

Пришлось на редеете тему запилить)

Мда, просто целый день в никуда, так я и не понял от куда этот варниннг лезет

Gleb
08.10.2018
21:38:59
ребята, я подвис с $lookup. Он как то не так работает в монгусе, да?

Gleb
08.10.2018
21:41:14
это я к тому, что есть ли разница в работе без монгуса или нет

Alexander
08.10.2018
21:41:32
Ну, в плане?

Gleb
08.10.2018
21:41:54
может просто есть очевидные моменты. если нет, то тогда щас распишу кейс

Alexander
08.10.2018
21:41:56
Монгуз на нативном драйвере работает так-то

Gleb
08.10.2018
21:42:33
да, щас

короче есть коллекция тикетов. есть коллекция сообщений. у каждого сообщения назначен тикет через ref. мне нужно получить сколько-то тикетов и к ним получить последние 3 сообщения сейчас покажу как у меня это выглядит

let tickets = await Ticket.aggregate([ { $match: { opened: true}}, { $lookup: { from: 'messages', let: { tid: '$_id' }, pipeline: [ { $sort: { createdAt: -1 } }, { $limit: 3 }, { $match: { $expr: {ticket: '$$tid' }}}, ], as: 'messages' } }, ])

Alexander
08.10.2018
21:44:33
А шо не так?

Gleb
08.10.2018
21:45:01
он выдает месседжи только по одному тикету, который был первым в запросе

Alexander
08.10.2018
21:45:17
Ну значит не матчится

Gleb
08.10.2018
21:45:20
то есть в итоге в каждом тикете у меня получаются месседжи для одного первого тикета

дап ) в этом и вопрос. не пойму где криво

читаю доку, вроде все верно делаю

Google
Alexander
08.10.2018
21:46:04
А у тебя в pipeline $match идёт последним, так должно быть?

Gleb
08.10.2018
21:46:22
по тикетам да, иначе не срабатывает сортировка

Alexander
08.10.2018
21:46:35
Ща

Gleb
08.10.2018
21:46:36
сорри, по месседжам

Alexander
08.10.2018
21:46:36
Поняо

Вижу

Gleb
08.10.2018
21:47:30
поправил, у меня там в let не хватало $

Alexander
08.10.2018
21:48:22
Получилось?

Gleb
08.10.2018
21:48:53
нене, не помогает

Alexander
08.10.2018
21:48:57
Пиши $match: { $expr :{ $eq:['$ticket', '$$ttid']}}

Пробуй так

Gleb
08.10.2018
21:50:06
теперь в пером тикете есть, а в остальных пусто

Alexander
08.10.2018
21:50:54
Ты match вверх передвинь, как я понял. Он же там лимитит сразу и потом матчит

Мб поэтому

Gleb
08.10.2018
21:51:20
щас

Страница 326 из 342