Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

732
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda