Заголовки пользовательских запросов Laravel не заполняются - PullRequest
0 голосов
/ 02 июля 2018

Я использую почтальон для отправки запросов в мой проект, вот как это выглядит:

Request Headers:
cache-control:"no-cache"
postman-token:"65b35825-8c35-47ae-ad03-159d3da08e95"
partner_key:"123456789"
partner_secret:"123456789"
business_external_id:"123456789"
user-agent:"PostmanRuntime/6.4.1"
accept:"*/*"
host:"loyaltybro.local"
accept-encoding:"gzip, deflate"

Меня интересуют 'partner_key', 'partner_secret', 'business_external_id'.

В моем коде я регистрирую полученные заголовки так:

public function handle($request, Closure $next)
{   
    $headers = $request->headers->all();
    \Log::info($headers);
    ...
}

Вот вывод журнала.

local.INFO: array (
  'cache-control' => 
  array (
    0 => 'no-cache',
  ),
  'postman-token' => 
  array (
    0 => '65b35825-8c35-47ae-ad03-159d3da08e95',
  ),
  'user-agent' => 
  array (
    0 => 'PostmanRuntime/6.4.1',
  ),
  'accept' => 
  array (
    0 => '*/*',
  ),
  'host' => 
  array (
    0 => 'loyaltybro.local',
  ),
  'accept-encoding' => 
  array (
    0 => 'gzip, deflate',
  ),
  'connection' => 
  array (
    0 => 'keep-alive',
  ),
) 

Не существует ни «Partner_key», ни «Partner_Secret», ни «business_external_id».

Почему они не заселены?

1 Ответ

0 голосов
/ 02 июля 2018

Заголовки с подчеркиванием по умолчанию удаляются как в nginx, так и в apache.

http://httpd.apache.org/docs/trunk/new_features_2_4.html

Перевод заголовков в переменные окружения более строг, чем прежде чем смягчить некоторые возможные атаки межсайтового скриптинга через впрыск заголовка. Заголовки, содержащие недопустимые символы (включая подчеркивания) теперь тихо опущены.

https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/?highlight=disappearing%20http%20headers#missing-disappearing-http-headers

Если вы явно не включите underscores_in_headers; NGINX незаметно отбрасывать заголовки HTTP с подчеркиванием (которые совершенно допустимы согласно стандарту HTTP). Это сделано для того, чтобы предотвратить неоднозначности при отображении заголовков в переменные CGI как тире и подчеркивания отображаются на подчеркивания во время этого процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...