@python_beginnersЭта группа больше не существует

Страница 900 из 1885
x3233
09.12.2016
07:26:55
Рефералка лучше подойдёт

Чем пароль

Johnnie
09.12.2016
07:27:11
https://core.telegram.org/bots#deep-linking

Size
09.12.2016
07:27:39
Рефералка лучше подойдёт
Ну он разве рефералку не может кому нить потом скинуть?

Google
x3233
09.12.2016
07:27:39
Size
09.12.2016
07:27:47
Для доступа

x3233
09.12.2016
07:28:06
Johnnie
09.12.2016
07:28:07
ну тогда условие "только с одного аккаунта обращаться" надо как-то делать еще

кто первый того и тапки?

x3233
09.12.2016
07:28:19
+

Johnnie
09.12.2016
07:28:21
обратились с этим ключом - записали айди юзера

всех остальных шлют нах

Pavel
09.12.2016
07:28:40
ключи послжнее делать надо.

x3233
09.12.2016
07:29:07
Рефералка и збс все. её и проще передавать чем пароли

Size
09.12.2016
07:30:13
всех остальных шлют нах
Тепрь вопрос с id. если я буду сидеть на телефоне или компе одновременно, у меня все действия на всех устройствах дублируются?

Google
Johnnie
09.12.2016
07:31:06
ну в теории может быть один аккаунт и дохера пользователей :)

x3233
09.12.2016
07:31:46
Но зачем? Он же к телефону привязывается

Изза одного получили репорты и хана акку

Johnnie
09.12.2016
07:32:15
как зачем, чтобы не платить)

а как ты поймешь что это не один человек?

id юзера будет одинаковый

x3233
09.12.2016
07:32:51
Я ни как, а так там сессии разные

Johnnie
09.12.2016
07:33:21
к сессиям не привяжешься же

да и доступа нет

да и не надо)

Roman
09.12.2016
07:34:29
гайс, поле пароля в бд надо как-то настраивать под шифрование? или просто можно в коде ебануть password=md5(request.form['password']).hexdigest() ?

Johnnie
09.12.2016
07:34:59
bcrypt.generate_password_hash(password)

from flask_bcrypt import Bcrypt

Roman
09.12.2016
07:35:27
ничего не понял

так с бд надо что-нибудь делать?

Johnnie
09.12.2016
07:35:46
потом bcrypt.check_password_hash()

в бд надо писать и читать из нее

но не md5

Roman
09.12.2016
07:36:25
но не md5
почему?

Google
Johnnie
09.12.2016
07:37:29
его вроде ща подбирают быстро

но не уверен

В заключении, привожу скорости перебора хешей (единицы измерения — мегахэши в секунду, то есть количество ), полученных на карточке AMD Radeon 7990 стоимостью менее $1000 (даже по старому курсу): MD5: 16000 M/s SHA-1: 5900 M/s SHA256: 2050 M/s SHA512: 220 M/s NTLM: 28400 M/s bcrypt: 8,5 k/s

на хабре нашел

https://habrahabr.ru/post/210760/

Igor
09.12.2016
07:40:33
так с бд надо что-нибудь делать?
с самой бд - нет, разве что размер поля увеличить, чтобы хеш помещался при создании пользователя тебе надо брать пароль, который он ввел при регистрации, хешировать его и класть хеш в базу при логине пользователя тебе надо брать пароль, который он ввел в форме входа, хешировать его, идти в базу и сравнивать с хешем. совпадает - заебись, пускай его. не совпадает - пошел нахуй

Igor
09.12.2016
07:44:28
кстати, а какую длину принято делать? 60?
¯\_(ツ)_/¯ it depends если функция гарантированно не зафигачит больше 60 символов, то можно ограничиться ими

Johnnie
09.12.2016
07:45:22
http://stackoverflow.com/questions/5881169/what-column-type-length-should-i-use-for-storing-a-bcrypt-hashed-password-in-a-d

можно в 40 говорят ваще

Johnnie
09.12.2016
07:45:28
короче 60 хватит)

Igor
09.12.2016
07:46:35
можно в 40 говорят ваще
ну у него как раз 40. заюзает твою функцию - получит пизды при вставке хеша ))

Johnnie
09.12.2016
07:46:59
я не видел сколько у него)

Igor
09.12.2016
07:47:00
а, binary(40) - да

просто это перекодировать в бинарные данные надо, а не текстом хранить

Johnnie
09.12.2016
07:48:44
640 килобайт хватит всем!

x3233
09.12.2016
07:53:45
1024, чеж мелочиться то?

Ilya
09.12.2016
07:57:32
вообще если нормальная база то 40 или 60 ты не заметишь разицу, а вот если заметишь то очень странно что ты задаешь вопросы , когда у тебя кластер машин=)

Google
Johnnie
09.12.2016
08:03:05
с алхимией и фласком нужно добавлять with app.test_request_context(): db.create_all() при старте приложения?

у меня почему-то не работает оно

всем спасибо, решил :D

Size
09.12.2016
08:22:08
да и не надо)
Есть возможность что к id подключатся с в другое время

Есть возможность что к id подключатся с в другое время
Нужно что бы один человек пользовался 1 id

Johnnie
09.12.2016
08:23:05
ну тогда тебе в саппорт телеграма с таким предложением

вышел из дома - залогинился на телефоне, пришел домой - залогинился на пк

ты так себе это видишь?

Admin
ERROR: S client not available

Johnnie
09.12.2016
08:23:35
каждый новый логин выбивает все остальные

Pavel
09.12.2016
08:27:20
У меня три места, откуда я пользую телеграмму плюс телефон. Если я заплачу за доступ, а меня ограничат одним устройством, я расстроюсь.

Zart
09.12.2016
08:35:56
Johnnie
09.12.2016
08:36:34
юзеру нужно писать боту свой номер кредитки?

и CVV :))

Anton
09.12.2016
08:38:52
господа, подскажите в таком вопросе пожалуйста, делаю пост запрос такого вида (requests.post(url, data=fl)) fl = {'file': '123'} не могу его принять в торнадо

Igor
09.12.2016
08:39:52
че торнадо пишет?

Anton
09.12.2016
08:40:08
ERROR:tornado.access:500 POST /story/json (127.0.0.1) 1.25ms

Igor
09.12.2016
08:41:04
это понятно. а трейсбек?

Anton
09.12.2016
08:41:24
Traceback (most recent call last):

Igor
09.12.2016
08:41:29
он самый

Google
Anton
09.12.2016
08:41:51
File "/home/antoshka/Dropbox/tornado/Work/echo_server.py", line 69, in <module> File "/usr/local/lib/python3.5/dist-packages/tornado-4.5.dev1-py3.5-linux-x86_64.egg/tornado/ioloop.py", line 863, in start event_pairs = self._impl.poll(poll_timeout) KeyboardInterrupt

Igor
09.12.2016
08:42:39
не то во время запроса от requests у торнадо вроде есть режим debug, он включен?

Anton
09.12.2016
08:43:24
нет, он сейчас просто запушен и слушает порт

Igor
09.12.2016
08:43:34
дык включи

Anton
09.12.2016
08:43:50
уже

Igor
09.12.2016
08:44:22
ну вот по трейсу будет понятно, где ошибка

трейс будет отображаться либо в терминале (торнадо), либо в ответе от сервера сразу

если второе, то print(requests.post(...).text)

Varya
09.12.2016
10:24:32
Всем привет и снова я со своими ламповыми вопросами. в общем, писала я функцию, чтобы список удалял элементы с нечетными значениями, а четные делил на 2. Но что-то в нем не так. Мне посоветовали следующее: "чтобы всё заработало, нужно написать не просто l, а l[?, тогда список будет изменяться." Все заработало, но я, видимо, при изучении что-то упустила из внимания. Объясните, пожалуйста, почему именно l [? ? Код прилагаю в первоначальном виде

Всем привет и снова я со своими ламповыми вопросами. в общем, писала я функцию, чтобы список удалял элементы с нечетными значениями, а четные делил на 2. Но что-то в нем не так. Мне посоветовали следующее: "чтобы всё заработало, нужно написать не просто l, а l[ : ], тогда список будет изменяться." Все заработало, но я, видимо, при изучении что-то упустила из внимания. Объясните, пожалуйста, почему именно l [ : ] ? Код прилагаю в первоначальном виде

Lisa
09.12.2016
10:29:52
нельзя работать со списком, изменяя его на лету. фактически l[ : ] делает копию списка - это срез всех элементов

Roman
09.12.2016
10:30:31
это диапазон смещений?

Zart
09.12.2016
10:31:25
в этом коде ты создаешь новый список l = newlist - ты присваиваешь его поверх старого имени l и оно остается локальной переменной, которая пропадает по выходу из функции l[:] = newlist - это ты существующему списку присваиваешь новый через слайс, что меняет переданный в функцию список по месту

Roman
09.12.2016
10:32:02
l[::2] извлечет каждый нечетный элемент

Zart
09.12.2016
10:32:06
>>> l = [1, 2, 3] >>> l [1, 2, 3] >>> l[:] = [6, 5, 4] >>> l [6, 5, 4]

l[:] = [i//2 for i in l[::2]] # как вариант

Varya
09.12.2016
10:32:42
спасибо)

Lisa
09.12.2016
10:33:09
да, кстати, а где return? я думала, просто не приведен

Zart
09.12.2016
10:33:49
ну тут мутация по референсу, не очень хороший вариант

Страница 900 из 1885

Эта группа больше не существует Эта группа больше не существует