
Скрудж
13.09.2016
20:17:14

Igor
13.09.2016
20:17:18
никогда такое не пригождалось, я считаю, что немного логики в шаблоне - это норм
(но не все так думают)

Google

⬗VLAD⌶K⬖
13.09.2016
20:18:49

Johnnie
13.09.2016
20:21:04
если я пилю этот сервис ток для себя

Скрудж
13.09.2016
20:21:05

Johnnie
13.09.2016
20:21:11
и хочу хранить логин-пасс где-нибудь там
пасс шифровать нужно все равно ведь?
и сравнивать хеши

Скрудж
13.09.2016
20:21:30
Нет, это для безопасности
Просто могут вытащить БД, будет горе
А если так - нет

Johnnie
13.09.2016
20:21:54
да тут не бд даже

⬗VLAD⌶K⬖
13.09.2016
20:21:54

Johnnie
13.09.2016
20:21:57
а в конфиге)
да и ничо интересного не найдут тут, даже если вытащат

Google

Johnnie
13.09.2016
20:22:15
но лучше хеш, я думаю)

Скрудж
13.09.2016
20:22:30
Да забей тогда, никому не будет интересно

Igor
13.09.2016
20:22:35

Johnnie
13.09.2016
20:23:22
в примере с digital ocean

Igor
13.09.2016
20:23:24
потом пригодится, круто же

Johnnie
13.09.2016
20:23:28
используют это from werkzeug.security import check_password_hash
как понять, какой хеш пароля мне туда писать?
if user and check_password_hash(user.password, form.password.data):

Igor
13.09.2016
20:23:49
почитать исходники check_password_hash ))

Johnnie
13.09.2016
20:23:53
так проверяют

Igor
13.09.2016
20:24:06
http://flask.pocoo.org/snippets/54/
from werkzeug.security import generate_password_hash
а вот так пишут
(неправильно тебя понял изнчально, сорян)

Johnnie
13.09.2016
20:24:24
о, во

Скрудж
13.09.2016
20:25:12
sqlite vs. Mysql? С чем легче работать и что легче юзать и на винде и на линуксе

Johnnie
13.09.2016
20:25:30
vs postresql забыл еще

⬗VLAD⌶K⬖
13.09.2016
20:25:32

Скрудж
13.09.2016
20:25:32
Пардон

Google

Скрудж
13.09.2016
20:25:35
Портировать

Igor
13.09.2016
20:25:36
имхо тоже sqlite

Скрудж
13.09.2016
20:25:41

Igor
13.09.2016
20:25:43
другое дело, зачем тебе

Скрудж
13.09.2016
20:25:58
БД игроков

Igor
13.09.2016
20:26:15
если хранить полтора пользователя и писать запросики со сложностью уровня GROUP BY HAVING, то sqlite'а хватит
один фиг изучаешь пока только

Скрудж
13.09.2016
20:26:36
О, то, что нужен
Нужно*

Igor
13.09.2016
20:26:57
не надо ебаться с myisam vs innodb, поднятием сервера, еще всякой хуетой

Скрудж
13.09.2016
20:27:14
Я че дебил сервер поднимать

Скрудж
13.09.2016
20:27:25
На ноуте запущу скрипт
И все

Igor
13.09.2016
20:27:27
mysql-сервера, я имею в виду, не железного ))
ты, конечно, теряешь всякие плюшки большой и серьезной субд, но я не думаю, что они тебе нужны
а как будут нужны - сам захочешь перейти на mysql или postgresql

⬗VLAD⌶K⬖
13.09.2016
20:28:03
поднять сервер тоже как бы можно и на обычном ноутбуке, даже не суть важно

Скрудж
13.09.2016
20:28:55

Igor
13.09.2016
20:29:17
привет json.dump и json.load, да

⬗VLAD⌶K⬖
13.09.2016
20:29:38
держите хипстера!!!

Google

Johnnie
13.09.2016
20:29:47
имхо проще всего sqlite, только его и пользовал)
файлик аккуратно создает, рядом кладет и все хорошо

⬗VLAD⌶K⬖
13.09.2016
20:30:21

Johnnie
13.09.2016
20:30:46
# Set the route and accepted methods
@mod_common.route('/', methods=['GET'])
def index():
password = 'my_password'
from werkzeug.security import generate_password_hash
password_hash = generate_password_hash(password)
return render_template("common/index.html", password=password, password_hash=password_hash)
сделал вот так, чтоб посмотреть на хеш
а он меняется
почему? это же хеш
password: my_password
password_hash: pbkdf2:sha1:1000$hmTqWpYu$b6f47d1cbf8669a02f4711a43e483a059d6f13fd
password: my_password
password_hash: pbkdf2:sha1:1000$nHh62ur1$0f0d4e95fbd255ddab62a9250b4f791843f26435

Admin
ERROR: S client not available

Igor
13.09.2016
20:33:23
ну раз уж вспомнили про json, то разве это не проще sqlite'а?))
In [1]: import json
In [2]: my_json = {'max_users': 20, 'users': [{'name': 'igor', 'age': 24}, {'name': 'vasya', 'age': 30}]}
In [3]: with open('my.json', 'w') as f:
...: json.dump(my_json, f)
...:

Cykooz
13.09.2016
20:34:05
почему? это же хеш
Очевидно генератор добавляет рандомную соль в хеш. Подозреваю что это строка между :1000$ и $

Igor
13.09.2016
20:34:24
Johnnie Walker, [13 Sep 2016 23:31]:
password: my_password
password_hash: pbkdf2:sha1:1000$hmTqWpYu$b6f47d1cbf8669a02f4711a43e483a059d6f13fd
^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
функция соль хеш
password: my_password
password_hash: pbkdf2:sha1:1000$nHh62ur1$0f0d4e95fbd255ddab62a9250b4f791843f26435
^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
функция соль хеш

Johnnie
13.09.2016
20:35:23
ух ты ж блять
ладно, тогда пусть это будет на совести этих двух функций :)
соленые пароли
а после логина надо класть какой-то признак в сессию?
или как принято?

Igor
13.09.2016
20:38:25
в смысле?

Google

Johnnie
13.09.2016
20:38:36
ну чтоб я на других разделах потом проверял
залогинен юзер или нет
если что - отправлял логиниться
на "закрытых" так скажем
от чужих глаз

Igor
13.09.2016
20:39:52
а
мб тут будет проще flask-login подключить, кстати
но да
ты создаешь сессию, и ей на бекенде после успешного логина приписываешь, мол, это такой-то юзер

Johnnie
13.09.2016
20:40:13
flask логин обязательно почту хочет? или можно отучить?
пойду покурю его

Igor
13.09.2016
20:40:21
можно отучить
вон ведь пример с чистым фласком
http://flask.pocoo.org/docs/0.11/quickstart/#sessions
на самом деле мб я переборщил, flask-login может быть для тебя перебором
с другой стороны, там куча всего упрощает работу с проверками, логином и прочим говном

Johnnie
13.09.2016
20:42:01
ну и для общего развития мне кажется полезно
чем свои кривые костыли пилить

Igor
13.09.2016
20:42:23
ну писать собственные реализации - это тоже хороший опыт
будешь натыкаться на свои ошибки, узнавать, как правильнее

Johnnie
13.09.2016
20:43:09
а потом в итоге пойму, что "всё хуйня, давай по-новой" и сделаю фласк-логин :)

Igor
13.09.2016
20:43:20
а как иначе!

Johnnie
13.09.2016
20:48:44
блин
тут какой-то user_id нужен уникальный
а у меня юзер один
Эта группа больше не существует