170 похожих чатов

Можно сохранять данные в телеграм боте так, чтобы доступ к

ним имел только пользователь-отправитель?

39 ответов

6 просмотров

а в чем проблема? Указываешь в таблице овнера по telegram_id и только ему даешь доступ.

Артем Шутов
в какой именно таблице?

ты хочешь в базе сохранять данные или что именно? Если ты пишешь боту, чат и так доступен только пользователю

Артем Шутов
данные сохранять в таблице

создаешь базу под потребности своего бота, пишешь туда информацию согласно твоей реализации, указываешь кто овнер данных согласно общения с ботом, даешь доступ к этим данным согласно запросу по критериям, указывая кто овнер

Артем-Шутов Автор вопроса
Pavel Glukhov
создаешь базу под потребности своего бота, пишешь ...

то есть мне надо давать доступ, если чат айди отправленного сообщения пользователем соответсвует данным в БД?

Артем Шутов
то есть мне надо давать доступ, если чат айди отпр...

Представь, у тебя есть таблица, например 'покупки', туда пишутся все, что зависит с покупками пользователей и конечно же ты указываешь кто произвёл покупку. В твоём случае овнер будет некий telegram-Id пользователя. Мы сейчас не будем говорить про связи с таблицами и тд. Так вот, что нужно сделать, что бы получить все данные из таблицы какого-то пользователя, где пишутся все покупки всех пользователей? Надо использовать какие-то критерии выгрузки, в твоём случае, это Id пользователя. Например SELECT product_name FROM purchase WHERE telegram_id=0000000. Выдаст тебе все названия купленных продуктов пользователя 0000000. Короче говоря, советую сначала ознакомиться с базами данных и работой с ними, прежде чем приступать к написанию чего-то связанного с работой с базами.

Артем-Шутов Автор вопроса
Pavel Glukhov
Представь, у тебя есть таблица, например 'покупки'...

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

Артем Шутов
мне нужно будет записать личные данные пользовател...

Тот же самый принцип, что и выше. Можно создать таблицу users и писать туда нужную информацию. Как первичный ключ можно использовать Id пользователя и функцию написать, что если пользователь хочет получить данные о себе, то вывести данные из таблицы users где Id записи = chat_id пользователя

Артем-Шутов Автор вопроса
Pavel Glukhov
Тот же самый принцип, что и выше. Можно создать та...

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

Артем Шутов
да, но при этом я смогу получить сам чат айди и ра...

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

Артем Шутов
чтобы сам я не мог посмотреть

Если ты будешь их как-то кодировать и декодировать, тебя не спасёт это, так как у тебя будет известный алгоритм. Если ты действительно это хочешь, гугли способы шифрования и расшифровки данных по ключу/паролю. Шифруй их на входе и расшифровывай на выходе. Без знания пароля расшифровка будет невозможна, либо сложна

Артем Шутов
чтобы сам я не мог посмотреть

https://question-it.com/questions/87377/prostoj-sposob-kodirovat-stroku-v-sootvetstvii-s-parolem

Артем-Шутов Автор вопроса
Pavel Glukhov
Если ты будешь их как-то кодировать и декодировать...

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

Артем Шутов
по паролю. Изначально предполагалось, что паролем ...

Сгенерировать пароль можно на основе чего-то. Получить хеш сумму например на основе timedelta в момент записи данных. Потом потом отправить эту сумму как пароль обратно пользователю. Но если пользователь очистит чат, то потеряет контроль над данными. Если будешь использовать какие-то данные из его телеграм профиля, то всегда можно будет получить эту сумму при желании

Артем Шутов
по паролю. Изначально предполагалось, что паролем ...

Если ты задаешь такой глупый вопрос, то боюсь представить насколько у тебя уязвимый проект будет, или уже имеется.

Артем Шутов
я смогу получить сам хеш

Ты в курсе что хэш нельзя образовать обратно ?

Артем-Шутов Автор вопроса
Артем Шутов
знаю, но здесь хеш будет ключом

Возьми UUID, на основе него получи хеш, предоставь ставь эту информацию пользователю. Второй вариант - позволь пользователю самому выбрать пароль и получи хеш. Но учти, что ты можешь схалтурить и писать это все в логи)

Артем-Шутов Автор вопроса
Pavel Glukhov
Возьми UUID, на основе него получи хеш, предоставь...

Вообще не понимаю зачем скрывать это от администратора/разработчика, у которого имеется доступ к логам или бд.

SWIPER пустоты
Вообще не понимаю зачем скрывать это от администра...

Я тоже. Ну раз есть такое требование. Вопрос лишь в том, что данные могут быть потеряны окончательно

Артем Шутов
если могу схалтурить, то не канает)

Если код под твоим контролем, то ты всегда можешь схалтурить, как бы ты не хотел этого. Какой бы секретный код не был, разработчик может использовать тысячи способов сохранения пользовательских ключей, пинов, хеш сумм и тд

Pavel Glukhov
Я тоже. Ну раз есть такое требование. Вопрос лишь...

Видимо я немного понял, человек строит якобы анонимную систему судя по всему энтузиаст. Ну тут два простых варианта. 1.Забросить эту затею 2.Создавать хеш на основе чего-либо которое имеет обновление через или в какое то время, (временный токен для юзера) После чего дать возможность пользователю обновлять его.

Артем-Шутов Автор вопроса
SWIPER пустоты
Тогда брось забудь

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

Артем Шутов
можно попробовать через приватный канал сделать хр...

Думаю ты сам не понимаешь чем занимаешься, от сюда такие и вопросы.

SWIPER пустоты
Видимо я немного понял, человек строит якобы анони...

Временный токен, это вариант. Но ведь на беке будет алгоритм и сам по себе токен будет сравниваться, значит можно получить на стороне бека этот одноразовый код. Совершенно анонимную систему будет тяжело сделать

Pavel Glukhov
Временный токен, это вариант. Но ведь на беке буде...

Тогда я не вижу других вариантов кроме как "Гость"

Pavel Glukhov
Временный токен, это вариант. Но ведь на беке буде...

Не вижу вообще логике в его суждениях. В таком случае вообще пусть оставит функционал того чего хочет, а регистрацию убирает. Либо же использует для регистрации сторонние сервисы такие как: vk, google, fb и так далее.

Артем Шутов
мне нужно будет записать личные данные пользовател...

шифруй ключом юзера, который есть только у него

Tishka17
шифруй ключом юзера, который есть только у него

Да ему уже раз десять это сказали. *3 или 5

Артем-Шутов Автор вопроса
Tishka17
шифруй ключом юзера, который есть только у него

да, но если я буду получать это сообщение, то будет не только у него

SWIPER пустоты
Ничего не мешает добавить соль.

Да. Можно, но опять же, администратор имеет доступ к точке авторизации. Можно использовать принцип rsa токенов. Но по моему опыту, админы таких систем имеют доступ к ключам, генерируемым системой. Другой вопрос - а почему нет? Админы должны иметь способ предоставить ресурсы для восстановления забытых ключей

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта