2011-12-15 3 views
0

мне было интересно, если есть способ, я могу получить файл в формате JSON (в настоящее время с помощью $ .getJSON), не показывая ГЭТ URL в «просмотреть исходный код»getJSON без показывая путь к файлу

+3

Нет. Я имею в виду, вы должны как-то сказать jQuery URL-адрес? Вы могли бы запутать его, например. кодировать и декодировать его как base64, но все равно тривиально деобфобывать URL-адрес или просто наблюдать за сетевым монитором. –

+0

Согласовано. Нет ........ – karim79

+0

всевозможные невозможные – Cheekysoft

ответ

3

Не совсем. Я имею в виду, вы могли бы извлечь его из чего-то другого через сложную функцию, но даже тогда она там, просто затенена.

И если вы сделали, кто-то мог так же легко подсмотреть путь к файлу, используя браузер встроенный в диагностический/инструменты отладки, как они могли от View Source (на вкладке «Сеть» в Chrome, например   — все основные современные теперь у браузеров есть инструменты для отладки). Вкладка

enter image description here

Или они могут использовать отладчик (см «Сценарии»: Вот меня шпионить на пути переполнения стека используется, чтобы дать подробную информацию о upvotes/downvotes (для тех, кто с достаточной репутацией, чтобы увидеть разбивку)) для проверки строковой переменной, с которой закончил вычисление. И т. Д. В принципе, если браузер знает достаточно, чтобы получить ресурс, пользователь может узнать, что это за путь.

Единственное, что я могу придумать, это использовать плагин, например Flash или Java, для извлечения ресурса, а затем его отображения. Это поднимет планку немного (путь все равно будет доступен любому, у кого есть сетевой анализатор или прокси).

+0

Что делать, если json был получен с помощью php-файла, а затем передан на страницу html/jquery/ajax? – echez

+0

@echez: Тогда клиент увидит URL-адрес файла PHP. Они также будут видеть запрос к файлу PHP и любые данные, отправленные с этим запросом. Если ваша цель состоит в том, чтобы сделать URL-адрес, который можно получить только один раз, он легко обрабатывается на стороне сервера с уникальным, динамически распределенным идентификатором, который потребляется при обслуживании (через PHP или иначе) и который истекает через некоторое время. –

1

Nope. Безопасность через безвестность никогда не бывает шансом.

Возможно, вам придется усложнить его повторное использование, добавив некоторую проверку реферирования на стороне сервера, хотя .. Или используя какой-то токен подписи и т. Д. (Если вы хотите, чтобы люди не использовали его как веб-сервис) ,