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

730
Vistas
Django prohibido (cookie CSRF no configurada).

Me preguntaba qué pasa con el error CSRF Cookie not set que Django me arroja todo el tiempo. Creé una vista (ver a continuación) que es una devolución de llamada para un pago. No tengo ninguna influencia de lo que se envía a esa vista. Revisé otras publicaciones en StackOverflow, pero no creo que ninguna se aplique a mí. La mayoría de ellos pueden simplemente implementar una protección csrf en sus formularios, csrf_exempt sus vistas o usan rest_framework.

 class PaymentWebhook(View): def post(self, request, *args, **kwargs): # ...

Ahora, recibo este error cada vez que no hago nada con esta función:

 Forbidden (CSRF cookie not set.): /payment/webhook

Dado que se trata de pagos, ¿puedo simplemente csrf_exempt esto, o eso solo abriría un agujero de seguridad? Por cierto, incluso he intentado poner una exención en esta función, pero aún arroja ese error. ¿Alguna sugerencia?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Finalmente logré obtener un POST. Estoy bastante seguro de que ya lo había probado, pero parecía funcionar ahora: puse un csrf_exempt en mi urls.py

 from django.views.decorators.csrf import csrf_exempt url(r'^payment/webhook$', csrf_exempt(paymentwebhook), name='payment-webhook')

De otra manera, no me funcionaría por alguna razón. Gracias nik_m por la ayuda, ¡lo aprecio!

about 4 years ago · Santiago Trujillo Denunciar

0

Deberías decorar el método de dispatch con csrf_exempt , así:

 from django.views.decorators.csrf import csrf_exempt from django.utils.decorators import method_decorator class PaymentWebhook(View): @method_decorator(csrf_exempt) def dispatch(self, request, *args, **kwargs): return super(PaymentWebhook, self).dispatch(request, *args, **kwargs) # for python 2 return super().dispatch(request, *args, **kwargs) # for python 3 def post(self, request, *args, **kwargs): # ...

o, en base a esto , puede limpiarlo para:

 from django.views.decorators.csrf import csrf_exempt from django.utils.decorators import method_decorator @method_decorator(csrf_exempt, name='dispatch') class PaymentWebhook(View): def post(self, request, *args, **kwargs): # ...
about 4 years ago · Santiago Trujillo Denunciar

0

Esto es lo que hice (importar csrf_exempt)

 from django.views.decorators.csrf import csrf_exempt @csrf_exempt @api_view(['POST']) def add(request):
about 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