Flaskはユーザのipを取得し,ユーザのログイン回数を照会し,ipを閉じる.
4185 ワード
# , ,
# redis : "access_num_ ip":" "
# ip
user_ip = request.remote_addr
try:
# redis string , string
access_num = redis_store.get("access_num_%s" % user_ip)
except Exception as e:
current_app.logger.error(e)
else:
# 5 , ip
if access_num is not None and int(access_num) >= LOGIN_ERROR_MAX_TIMES:
return jsonify(errnum=RET.REQERR, errmsg=u" , ")
#
if user is None or user.check_password(password):
# , ,
try:
# incr 1
redis_store.incr("access_num_%s" % user_ip)
redis_store.expire("access_num_%s" % user_ip, LOGIN_ERROR_FORBID_TIME)
except Exception as e:
current_app.login.error(e)
return jsonify(errnum=RET.DATAERR, errmsg=u" ")