ColdFusion: вызывая компоненты с помощью AJAX, скрыть от источника просмотра?

#ajax #jquery #coldfusion #coldfusion-8 #view-source

#ajax #jquery #coldfusion #coldfusion-8 #просмотр исходного кода

Вопрос:

Мне любопытно… Мне нравятся асинхронные вызовы с помощью jQuery, но я не хочу, чтобы мои компоненты были доступны для общественности с помощью источника просмотра…

Какое рекомендуемое решение для этого?

Комментарии:

1. невозможно. Javascript доступен из view source по своей природе. Однако вы можете использовать сеанс для управления доступом к своим вызовам API.

2. Вы можете установить verifyClient = true, если хотите, чтобы ваш CFC был доступен только вашим компонентам CFAJAX.

3. Просто для ясности: вы говорите об URL-адресах ваших компонентов? Которые вы не можете скрыть без использования компонента facade / proxy. Если в вашей конфигурации нет чего-то еще неправильного, никто не сможет просмотреть исходный код ваших компонентов.

Ответ №1:

Вы могли бы сделать фасад доступным в веб-корне, который просто передает все входные данные в CFC за пределами веб-корня и возвращает результаты.

Таким образом, все, что видно при прямом вызове cfc в webroot, — это имена функций и переменных, а вся бизнес-логика скрыта из виду.

Комментарии:

1. Еще одна приятная особенность этого подхода заключается в том, что только фасадный CFC должен иметь «удаленные» методы. Все ваши CFC реальной реализации могут объявлять свои методы как «общедоступные», поскольку они вызываются из CFC фасада.

2. Я думаю, что это имеет наибольший смысл … компоненты, которые вызывают компоненты.

Ответ №2:

Вы могли бы использовать фреймворк на основе URI маршрута, такой как Taffy[1]. Taffy использует архитектуру RESTful, позволяющую определять URI, используемые для вызова ваших компонентов. Клиент никогда не видит вашу фактическую структуру папок CFC или имена файлов.

[1] http://atuttle.github.com/Taffy