Jump to content

Validar origem de requisição de maneira segura


Jonathan403

Recommended Posts

Pessoal, tenho um e-commerce e to integrando ele com a CIELO pra poder receber pagamentos. E aí quando o pagamento é confirmado, a CIELO envia um POST pro meu site dizendo q o pagamento foi realizado com sucesso e com os dados e tal...
porém qualquer pessoa consegue enviar um POST fingindo ser a CIELO. Eu preciso de alguma forma de validar se a requisição ta vindo da CIELO. Alguém saberia uma forma segura de fazer isso ?
Pensei em verificar se o IP é do servidor da CIELO, mas preciso de uma forma, que mesmo se o IP do servidor deles mudar, meu validador ainda continue funcionando. Alguma idéia ?

Edited by Jonathan403
Link to comment
Share on other sites

Nunca usei a API deles mas confira na documentação na parte que fala sobre o POST de notificação. Segundo o que tá lá um PaymentId é enviado na requisição, o que te permite consultar o status da transação. O fluxo seria tipo:

  1. Recebi o POST com PaymentId.
  2. Uso o PaymentId para consultar na API o status da transação.

Na documentação também diz que é possível cadastrar headers que serão enviados nessa requisição com um valor fixo. Isso pode servir como filtro para ter uma segurança mínima de que foi mesmo a CIELO que enviou o POST. Mas eu não confiaria tanto assim. ?

image.thumb.png.e5bee66cda584ee4511d4a7c4a5d45d5.png

  • Agradecer 1
  • l33t 1
Link to comment
Share on other sites

Opa! obrigado pela resposta Fernando e Felipe. Eu dei uma olhada lá na documentação, e vi que eles enviam o código de autorização da API no POST também. Acho q dá pra validar com isso também. Também dá pra fazer dessa forma que o Felipe disse, posso tentar varlidar pelo Paymentid também. Vou dar uma estudada aqui pra saber qual das 2 formas aplicar. Se faço com o código de autorização, ou se faço pelo Paymentid mesmo. Valeu aí pessoal!

  • Curtir 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...