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

374
Views
(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 answers
Answer question

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 Report
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!