Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

171
Vistas
Falta validación: Parámetro expuesto a llamadores externos Python

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)?

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda