Встроенный экран - безопасность - PullRequest
0 голосов
/ 08 декабря 2011

У нас есть веб-приложение: C # + SQL 2k5

Разные компании присылают нам информацию, мы их анализируем, делаем разные вещи и придумываем простой список для каждого из наших клиентов.Список будет выглядеть одинаково, но будет иметь различную информацию в зависимости от клиента.

У них не должно быть доступа к данным друг друга.

Мы хотели бы создать страницу, которая будет внедренана собственном сайте.Я думал об использовании чего-то вроде iFrame.

По сути, клиент ABC вставил бы на свой abc.com iframe с URL-адресом (мы дадим им необходимые параметры), и его клиенты увидят наши данные на егоsite.

Другой клиент, назовем его xyz, имеет другой веб-сайт xyz.com, будет делать то же самое, но в URL я должен сделать разницу между ними.

Iхотел бы знать, как это самый лучший и безопасный способ продолжить.Как мне начать создавать эту страницу, которая будет встраиваться.

Как мне сделать разницу между двумя клиентами?Единственный способ получить информацию от них - это параметры, которые они мне отправляют, и в конечном итоге я могу получить «родителя» моего встроенного iFrame, так что это может помочь мне ограничить встраивание xyz с использованием информации о параметрах url для получения данных из abc.Видишь мою дилемму?Возможно, понадобится уникальный идентификатор для каждого клиента (например, GUID?), И они не будут знать ID друг друга ... Или есть более безопасный способ сделать такие вещи?

Любая помощь будетбыть оцененным.

Спасибо

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Вставьте публично видимый уникальный идентификатор в URL и обработайте его, чтобы извлечь идентификатор клиента.например,

<IFRAME src="http://example.com/1122334455667788aabbcc">

Вы можете проверить Request.UrlReferrer , чтобы убедиться, что запрос видит этот ответ

Однако единственный безопасный способ сделатьэто должно обеспечить аутентифицированный API, который сайт использует на стороне сервера для обработки через сервисный API (например, WCF) или, по крайней мере, аутентифицированный HttpWebRequest;Любой другой способ делает ваши данные безопасными только в качестве общедоступного уникального идентификатора.

0 голосов
/ 08 декабря 2011

Посмотрите, как это делает один из порталов обработки кредитных карт (например, WorldPay или Paypal). Есть несколько способов.

Как минимум, вам нужно предоставить каждому клиенту уникальный идентификатор, который он вам отправит.

...