Ответа в гугле я не нашёл, решил попытать удачу тут.
Есть карта на которой выводятся маркеры, значения маркеров получаю из БД, вывожу в JSON`е на странице site.ru/json, обращаюсь к этой странице Аяксом, получаю JSON, маркеры успешно разместились на карте. Данный способ хорошо работает, но меня смущает, что любой пользователь можешь спокойно зайти на страницу site.ru/json и использовать JSON в каких-то своих целях. Вопрос: Как же спрятать JSON от простых смертных?
Можно генерировать случайный токен и отправлять запрос на site.ru/json?token=0123456789abcdef с небольшим временем жизни токена (например, 30 секунд). Это не даст пользователю обратиться к /json напрямую, хотя никто не помешает скачать и пропарсить исходную страницу в поисках ссылки, включающей токен.
Спрятать никак. Можно лишь немного "усложнить" получение данных со страницы для профанов, но более-менее опытный программист естественно найдет способ получить эти данные в исходном формате.
Под усложнить я имел ввиду например как минимум проверять корректность HTTP-заголовков при запросе, чтобы исключить простейшие запросы из под CURL например. Закодировать вывод JSON и раскодировать уже непосредственно при получении AJAXом, но код раскодирования естественно можно будет найти в ваших скриптах. Можно отправлять какой-нибудь кодированный идентификатор, например временную метку, и на выводе JSON проверять его, если метка не совпадает, то отменять вывод. Опять же все эти метки будут доступны и видимы в ваших скриптах. Так же можете погуглить "обфускация javascript". Но при любых раскладах все эти шифры можно расшифровать, другой вопрос, что как быстро с этим разберутся, и будут ли вообще разбираться те, кто захочет парсить вашу информацию :)