Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

172
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!