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

371
Vistas
(Frask) ¿es bueno obtener el formulario content_length como verificación previa por razones de seguridad?

en el matraz request.get_data() leí la siguiente oración citada y me mantuvo pensando:

Por lo general, es una mala idea llamar a este método sin verificar primero la longitud del contenido, ya que un cliente podría enviar docenas de megabytes o más para causar problemas de memoria en el servidor.

Entonces, mi primera pregunta, ¿debería verificar content_length en cada entrada de datos, por ejemplo, iniciar sesión desde ? o es solo para archivos cargados?

aquí está mi código de matraz para la página de inicio/cierre de sesión:

 @app.route('/signing', methods=['GET', 'POST']) def signing(): try: if current_user.is_anonymous: if request.method == 'POST': print(request.content_length) username = request.form['username'] password = request.form['password'] user = Authorization.query.filter_by(username=username).first() login_user(user) return redirect(url_for('home_redirect')) else: return render_template('pages/signing.html') else: logout_user() return redirect(url_for('index')) except: abort(501)

la instrucción print(request.content_length) anterior devuelve 33 .

¿Qué representa el número 33 ? ¿Podría convertirlo a kB o Bytes para ayudarme a comprender el significado de ese número?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para evitar problemas de memoria o denegación de servicio, comprobar el encabezado de longitud de contenido puede proporcionar una representación de bytes de un cuerpo POST para una solicitud HTTP. Se recomienda no utilizar una solicitud con una cantidad absurda de datos, ya que un cliente podría enviar una solicitud falsificada con TONELADAS de datos que podrían ser muy difíciles de manejar para el servidor. El encabezado de longitud de contenido siempre se representa en cada solicitud HTTP válida falsificada o desde un navegador, por lo que es excelente para utilizar. Es importante usar ese número como un número entero y simplemente verificar si es mayor que un valor que sería extravagante pero posible, como unos pocos cientos antes de analizar la respuesta.

Para leer más, también le sugiero que mire Flask Limiter para limitar la velocidad de sus puntos finales contra clientes y usuarios con intenciones maliciosas de proteger la velocidad y los recursos limitados de su servidor.

over 4 years ago · Santiago Trujillo Denunciar
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