Необходимо ли проверять или удалять строку обратного вызова jsonp

У меня есть файл под названием action.php, который сделает какое-то действие. Я хочу показать это как простой вывод JSON или JSONP. Пользователь будет вызывать это с помощью URL-адреса, например:

action.php?jsonp=callback 

В моем action.php я делаю что-то вроде этого

 $jsonp = isset $_GET["jsonp"] ? $_GET["jsonp"] : false; $output = execute_action(); if ($jsonp) { header('Content-Type: application/javascript'); printf("%s(%s)", $jsonp, json_encode($output)); } else { header('Content-Type: application/json'); echo json_encode($output); } 

Но для меня это кажется небезопасным. Должен ли я проверять или удалять параметр обратного вызова jsonp, если он передан? Если да, то в какой ситуации это защитит, и как мне это сделать в PHP?

Предположим, что этот action.php открыт для Интернета как услуга для любого веб-сайта (включая мою собственную).

Изменить: Для ясности мой вопрос состоит из двух частей:

  1. Ваше мнение о важности защиты гипотетического стороннего сайта от вредоносных инъекций jsonp

  2. Предположим, что я хотел защитить сторонние сайты с помощью моей службы, должен ли я проверять параметр jsonp (т. Е. Возможно, только разрешать определенные символы?), Или мне нужно избежать выхода jsonp (если это так, какую функцию php я должен использовать?)

Для меня, чтобы отметить ответ, как принято, я хотел бы получить более подробный ответ на оба этих вопроса.