from paramecio2.libraries.i18n import I18n, PGetText from paramecio2.libraries.mtemplates import env_theme, PTemplate from paramecio2.modules.admin.models.admin import UserAdmin, LoginTries from paramecio2.libraries.db.webmodel import WebModel from paramecio2.libraries.db import simplequery from settings import config from paramecio2.libraries.datetime import now, format_local_strtime, timestamp_to_datetime, obtain_timestamp from paramecio2.libraries.keyutils import create_key_encrypt, create_key from time import time #from paramecio2.wsgiapp import app #from paramecio2.modules.admin2 import admin_app #from bottle import request, redirect, Bottle, response from flask import request, redirect #from paramecio2.modules.admin.libraries.loginplugin import check_login #from paramecio2.libraries.sessionplugin import SessionPlugin #from paramecio2.libraries.httputils import GetPostFiles from paramecio2.libraries.formsutils import check_form, csrf_token from paramecio2.libraries.db.coreforms import PasswordForm from paramecio2.libraries.sendmail import SendMail #from paramecio2.modules.admin.libraries.config import modules_admin login_tries=5 if hasattr(config, 'login_tries'): login_tries=config.login_tries seconds_login=300 if hasattr(config, 'seconds_login'): seconds_login=config.seconds_login def check_login_tries(request, db): logintries=LoginTries(db) logintries.safe_query() ip=request.environ.get('HTTP_X_FORWARDED_FOR') or request.environ.get('REMOTE_ADDR') """ if 'x-real-ip' in request.headers: ip=request.headers['x-real-ip'] elif 'x-forwarded-for' in request.headers: ip=request.headers['x-forwarded-for'] else: ip=request.client.host """ you_cannot_login=0 now_str=now() date_now=format_local_strtime('YYYY-MM-DD HH:mm:ss', now_str) date_check=format_local_strtime('YYYY-MM-DD HH:mm:ss', timestamp_to_datetime(obtain_timestamp(now_str)-seconds_login)) logintries.query('delete from logintries where last_login<%s', [date_check]) arr_try=logintries.set_conditions('WHERE ip=%s', [ip]).select_a_row_where() if arr_try: if arr_try['num_tries']