Ejecuto CodeGuru CodeReview en mi proyecto, obtuve la siguiente recomendación.
Para esta línea: return locale_alias[language][message]
Problema: esta línea de código carece de validación al procesar datos de entrada a través del siguiente parámetro: 'mensaje' (índice: 1 | tipo: Desconocido). El parámetro está expuesto a llamadores externos, porque su clase y método adjuntos son de acceso público. Esto significa que la validación ascendente, si existe, se puede omitir. Otros parámetros validados: 'idioma'. Las entradas maliciosas, mal formadas o ilimitadas pueden provocar comportamientos inesperados en el tiempo de ejecución o bloqueos, y pueden ralentizar el rendimiento.
Los parámetros de métodos públicos deben validarse para nulos, valores inesperados y valores maliciosos. La entrada no válida o maliciosa puede comprometer la seguridad del sistema.
Aquí está la estructura del código de mi proyecto.
cuerdas.py
TESTING_ME = "Testing language"cuerdas_fr.py
TESTING_ME = "French Testing language French"strings_es.py
TESTING_ME = "English Testing language English"string_class.py
import strings_handler # class to handle strings_handler based on message and language select from endpoint class Locale: def __init__(self, language, message): self.string = strings_handler.select_locale(language, message)manejador_de_cuerdas.py
import strings as key def select_locale(language, message): if language == "fr" import strings_fr as strings else: import strings_en as strings locale_alias = {language: {key.TESTING_ME : strings.TESTING_ME } } return locale_alias[language][message]En llamada api
import Locale from typing import Optional from fastapi import APIRouter router = APIRouter() @router.post("/test") async def test_program(language:Optional[str] = "en"): return JSONResponse( status_code=header_status, content={ "message": Locale(language, strings.TESTING_ME).string } )¿Cómo garantizar la validez del valor de los parámetros (mensaje)?