Как правильно обрабатывать запросы в PHP?
Мне надо проверить что запрос несет в себе json и определенный header, что бы ни кто просто так не мог запросы кидатьисторически это делают через авторизацию

Добавить basic auth либо на стороне веб сервера либо прямо в php дело нескольких строчек. Для отправки запроса практически любой библиотекой можно пользоваться следующим форматом url - http://user:password@site.com/path (даже php file_get_contents поддерживает)

Ну и самое простое - по токену
токен это буквально пароль, который либо прописан в конфигах/исходниках твоего сервиса либо выдается сервисом авторизации на время. Этот токен можно указывать либо в заголовках (тогда для отправки запроса нужно этот заголовок установить или еще проще - разместить этот токен прямо в запросе, т.е. site.com/doit?auth=secret_password

Если протокол общения с твоим сервером будет https никто не сможет узнать ни логин пароль, ни токен авторизации, не имея доступа к машине с которой они вызываются
не могу найти примеры, что бы понять как вообще это все работает.
Вот прям серьёзно?
В интернете нет информации о том, как обработать JSON  POST запрос в PHP? 
Ни одного примера? Роскомнадзор забанил гугль, яндекс, бинг и рамблер?