Входящая полезная нагрузка Mailgun webhook пуста

#codeigniter #webhooks #mailgun #payload

#codeigniter #webhooks #mailgun #полезная нагрузка

Вопрос:

Я пытаюсь получить полезную нагрузку из mailgun webhook в Codeignaiter, но все они пусты.

 function index($payload = '')
{
        var_dump($_POST); // empty
        var_dump($_GET); // empty
        var_dump($payload); // empty
}
  

Я тестирую свой URL-адрес webhook с панели инструментов mailgun, все в порядке, и он работает, но с пустой полезной нагрузкой.

 Response: array(0) {
}
array(0) {
}
string(0) ""
  

Но при тестировании с помощью Postbin он возвращает такие данные

 {
  "timestamp": "1602575614",
  "token": "3d21344bf13e4999bc6233a2031984f5ed4a7d9b5a42df9189",
  "signature": "b1269faef2b44ce7f1ceaada83838691ed00203d1eb228e9c7097b7ec725a19c"
}
...
  

Что может быть причиной пустых данных?

Комментарии:

1. Активна ли ваша защита CSRF? Если вы отправляете сообщение без правильного токена CSRF (которого у внешнего поставщика никогда не будет), вам следует (ОСТОРОЖНО) перейти к php://input , что открывает совершенно другую банку с червями, или добавить исключение для защиты CSRF для конкретной пары контроллер / метод, которая должна получать данныеиз веб-крючка mailgun

Ответ №1:

Этот вернет нужные мне данные

 $postedData = json_decode(file_get_contents('php://input'), TRUE);
print_r($postedData);