Если третьи лица не заслуживают доверия, у вас есть большая проблема здесь. Вместо того, чтобы отправлять код JSONP, они могли отправлять любой JavaScript-код, который им нужен, что может повредить ваш сайт или украсть информацию пользователей.
JSONP работает, просто добавляя удаленные данные на вашей странице с тегами <script>
. Он разработан, чтобы избежать ограничений безопасности браузера, и поэтому должен использоваться только с надежными источниками.
Единственное решение этой проблемы на стороне клиента не существует.
РЕДАКТИРОВАТЬ: О, я неправильно понял ваш вопрос. Я думал, что клиент получит JSON.
JSONP - это просто объект JSON, заключенный в вызов функции javascript. Обычно, если вы работаете с сервера, вы просто запрашиваете сам развернутый объект JSON, но даже с объектом JSONP трудно пораниться, если вы не запускаете на нем eval()
.
Используете ли вы существующую библиотеку JSON? Если так, то с тобой все будет в порядке.
Вы сами это анализируете? Если так, избегайте eval
, и с вами все будет в порядке.