correções no py
This commit is contained in:
parent
c6389e53b3
commit
e037e8c9c7
|
|
@ -16,10 +16,6 @@ from flask_talisman import Talisman
|
||||||
import influxdb_client, time
|
import influxdb_client, time
|
||||||
from influxdb_client import InfluxDBClient, Point, WritePrecision
|
from influxdb_client import InfluxDBClient, Point, WritePrecision
|
||||||
from influxdb_client.client.write_api import SYNCHRONOUS
|
from influxdb_client.client.write_api import SYNCHRONOUS
|
||||||
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
|
|
||||||
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
|
|
||||||
from cryptography.hazmat.primitives import hashes
|
|
||||||
from cryptography.hazmat.backends import default_backend
|
|
||||||
import ldap3
|
import ldap3
|
||||||
|
|
||||||
# Carregar variáveis de ambiente do arquivo .env
|
# Carregar variáveis de ambiente do arquivo .env
|
||||||
|
|
@ -137,11 +133,19 @@ def get_influxdb_config(domain, mysql):
|
||||||
return json_data # Retorna todo o JSON carregado
|
return json_data # Retorna todo o JSON carregado
|
||||||
|
|
||||||
@app.route('/login', methods=['POST'])
|
@app.route('/login', methods=['POST'])
|
||||||
@csrf.exempt # Endpoints de autenticação como este podem ser excluídos da proteção CSRF, pois o token CSRF não está disponível antes do login; remova este decorador se quiser aplicar proteção CSRF.
|
@csrf.exempt # Endpoints de autenticação como este podem ser excluídos da proteção CSRF, remova se quiser aplicar.
|
||||||
def login():
|
def login():
|
||||||
data = request.get_json()
|
data = request.get_json()
|
||||||
username_full = data.get('username') # Extrai o e-mail completo do usuário dos dados da requisição.
|
username_full = data.get('username') # Extrai o e-mail completo do usuário dos dados da requisição.
|
||||||
password = data.get('password') # Extrai a senha dos dados da requisição.
|
password = data.get('password') # Extrai a senha dos dados da requisição.
|
||||||
|
|
||||||
|
# Verificação básica para detecção de padrões de SQL Injection
|
||||||
|
sql_injection_pattern = r"(--|\b(SELECT|UNION|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER)\b|;|'|\")"
|
||||||
|
|
||||||
|
# Checar se o username_full ou o password contêm padrões suspeitos
|
||||||
|
if re.search(sql_injection_pattern, username_full, re.IGNORECASE) or re.search(sql_injection_pattern, password, re.IGNORECASE):
|
||||||
|
return jsonify({'msg': 'A solicitação foi bem formada, mas não pôde ser atendida devido a erros semânticos.'}), 422 # Retorna o status 422
|
||||||
|
|
||||||
# Validação do formato do e-mail
|
# Validação do formato do e-mail
|
||||||
if not re.match(r"[^@]+@[^@]+\.[^@]+", username_full):
|
if not re.match(r"[^@]+@[^@]+\.[^@]+", username_full):
|
||||||
return jsonify({'msg': 'Formato de e-mail inválido'}), 400
|
return jsonify({'msg': 'Formato de e-mail inválido'}), 400
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue