Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Хостинг и доменные имена > Организация передачи данных со своего сайта


Автор: ksili 17.6.2008, 06:21
Вопрос немного ламерский, т.к. web-программированием практически не занимался.

Наша фирма открыла свой сайт. Пока просто информационный. Но есть намерения добавить возможность для наших клиентов совершать через него некоторые действия. Например, передача пин-кода для пополнения счёта или что-то подобное, заключающееся в передаче одной-двух строк информации. 
Сложность заключается в том, как передать эти данные, т.к. рабочая база данных и процессинговое ПО стоит на нашем сервере, а сайт хостится у некоторого провайдера. Данные нужно передавать без задержек (т.е. сразу) и безопасно (т.к. инфа конфиденциальная). 
Формочку-то на сайте присобачить для ввода данных не проблема. Но вот как их передать на наш сервер?

Автор: redona 17.6.2008, 08:36
Цитата(ksili @  17.6.2008,  06:21 Найти цитируемый пост)
Но вот как их передать на наш сервер

а как вы собираетесь возвращать известный код клиенту?

Автор: ksili 17.6.2008, 08:54
Цитата(redona @  17.6.2008,  12:36 Найти цитируемый пост)
а как вы собираетесь возвращать известный код клиенту?

Это скорее всего не понадобится. Клиенту будет приходить смс. 
Хотя как организовать двухстороннюю связь тоже хотелось бы узнать, возможно пригодится.

Автор: ksili 17.6.2008, 10:11
Я тут подумал. Действительно нужен полноценный двухсторонний обмен данными. Ведь клиент же может захотеть посмотреть, например, инфу о своём счёте, статистику операций и т.д. Это полноценный виртуальный кабинет получается...

Может я вопрос не в тот раздел запостил? или вопрос надо задать более конкретно? А-то чё-то тишина...

Автор: Alexandr87 17.6.2008, 12:54
По-моему самый оптимальный варинат это откзаться от услуг провайдера и взять обслуживание WWW на себя.

Автор: ZeeLax 17.6.2008, 18:11
Организуйте безопасный туннель от хостера до сервера с данными. Или ещё лучше - на сервере с данными повесьте апапч, и по https обращайтесь к нему из скрипта. Сразу и двусторонний обмен получится.
Можно и обработчик данных из формочки вызывать напрямую с вашего сервера с данными, оставив остальной контент у хостера.

Автор: Alexandr87 18.6.2008, 07:03
Цитата(ZeeLax @  17.6.2008,  21:11 Найти цитируемый пост)
Организуйте безопасный туннель от хостера до сервера с данными

не считается smile для хостера будет доступна конфидециальная информация.

Цитата(ZeeLax @  17.6.2008,  21:11 Найти цитируемый пост)

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

а смысл остальной контент у хостера оставлять?  Да и у хостера появляются возможности для проведения атак направленных на получения передаваемых конфидециальных данных.

Автор: ksili 18.6.2008, 07:19
Спасибо за советы. Апач, пхп, перл - это то, чем я ещё ни разу не пользовался  smile Я ещё поразбираюсь и возможно уже задам более конкретные вопросы

Добавлено через 14 минут и 2 секунды
Кстати посмотрел наш тарифный план хостинга. Он оказывается самый простой. Из так называемых "возможностей" есть только стандартные CGI-скрипты и  Server Side Includes (SSI). Для сравнения на профессиональном тарифе в этом же списке есть ещё PHP4, PHP5, mod perl, java servlets и др.
Можно ли используя только CGI-скрипты сделать то, что нам нужно?

Автор: bilbobagginz 18.6.2008, 08:18
сегодня (да простят меня перлисты) есть очень много готовых библиотек на питоне (python), очень легкоучимый и удобный язык.
насчет безопасности - на все 100% согласен с Alexandr87.
если на публичном сервере будет храниться хоть какая-то конфиденциальная инфа, лучше всего, чтобы он был у вас в руках. контроль того, что втекает и вытекает между публичной сетью и более безопасной, внутренней можно делать разными средствами..
тут написанием программок на php/python/perl не отделаешься, над организовать физический сегмент сети, фильтрование, логи скидывать на какой-то лог-сервер и вообще много проблем.
напр. если вы не хотите поддерживать 2-3 сервера Certificate authority, которые вам будут стоить денег и в поддержке и железо, то стоит купить сертификаты у провайдеров - verisign,thawte и т.д.
но если у вас целая сеть ssl-нутых компутеров, тогда уже имеет смысл установить свой корпоративный CA.

Автор: ksili 18.6.2008, 08:37
Цитата(bilbobagginz @  18.6.2008,  12:18 Найти цитируемый пост)
если на публичном сервере будет храниться хоть какая-то конфиденциальная инфа

Под конфиденциальной инфой вы имеете в виду ответы нашего сервера? Т.е. допустим зашёл клиент в свой кабинет (https-сессия), т.е. ввёл логин/пароль, это отправилось нашему серверу, он вернул, допустим, баланс юзера, который отобразился у него на странице. 
Сама же база в целом находится не у хостера... Или вы допускаете, что он будет перехватывать логин и пароль?

Автор: Alexandr87 18.6.2008, 08:55
Цитата(ksili @  18.6.2008,  11:37 Найти цитируемый пост)
Или вы допускаете, что он будет перехватывать логин и пароль? 

а вы этого не допускаете?

Автор: ksili 18.6.2008, 09:19
Цитата(Alexandr87 @  18.6.2008,  12:55 Найти цитируемый пост)
а вы этого не допускаете?

Ну скажем так, я считаю это очень маловероятным (хостинг у Зенона). Кроме того, полученная информация вряд ли ему пригодится. Конфиденциальной она считается постольку-поскольку, хотя конечно возможно функционал сайта будет увеличиваться.

Но, допустим, будем защищаться и от этого. Как? Я так понимаю, тогда надо шифровать логин и пароль уже на стороне клиента. Какими средствами это можно сделать (огласите весь список пожалуйста!)? javascript? или что-то ещё?

Цитата(bilbobagginz @  18.6.2008,  12:18 Найти цитируемый пост)
напр. если вы не хотите поддерживать 2-3 сервера Certificate authority, которые вам будут стоить денег и в поддержке и железо, то стоит купить сертификаты у провайдеров - verisign,thawte и т.д.но если у вас целая сеть ssl-нутых компутеров, тогда уже имеет смысл установить свой корпоративный CA.

Есть ещё вариант. Не покупать сертификат, а выдать его самому себе  smile "Мегафон-Сибирь" и Alterphone например так и сделали. Не очень красиво, т.к. браузер об этом кричит, но зато шифруется.

Автор: MuToGeN 18.6.2008, 09:37
Primo, для веб-программинга существуют свои разделы, куда эта тема отправится в ближайшую пару минут.
Secundo, хочешь сделать что-то хорошо - сделай это сам, т.е. если там действительно столь конфиденциальные данные, то оно должно стоять не у хостера, а в твоем офисе.

Автор: Alexandr87 18.6.2008, 09:38
Цитата(ksili @  18.6.2008,  12:19 Найти цитируемый пост)
Но, допустим, будем защищаться и от этого. Как? Я так понимаю, тогда надо шифровать логин и пароль уже на стороне клиента. Какими средствами это можно сделать (огласите весь список пожалуйста!)? javascript? или что-то ещё?

Можно конечно и такими способами пойти. Но я еще раз повторюсь - что оптимальным считаю перенос хостинга к себе(раз уж вы все равно какой-то сервис будете предоставлять). И все - дальше никаких проблем, настраиваем ssl и все.

Добавлено @ 09:39
MuToGeN, причем здесь веб-программирование?

Автор: MuToGeN 18.6.2008, 09:44
Похоже, действительно погорячился с переносом темы. Прошу прощения, не всегда бываю адекватен сразу после того, как просыпаюсь.

Автор: ida 23.6.2008, 20:58
Цитата(ksili @ 17.6.2008,  11:11)
Я тут подумал. Действительно нужен полноценный двухсторонний обмен данными. Ведь клиент же может захотеть посмотреть, например, инфу о своём счёте, статистику операций и т.д. Это полноценный виртуальный кабинет получается...

Мы делали нечто очень-очень похожее... я ТЗ писала на эту задачу.
Правда не совсем врубилась, что конкретно вам нужно: как это реализовать программно, или только как защитить данные?
Если первое, то нужно написать шлюз (программный), подрубить к нему две обменивающиеся стороны, соответственно для этого обе должны предоставлять некий интерфейс, через который нужно общаться. Если его нет в готовом виде, то потребуется заточка напильником. Насколько это возможно? Если заточить можно только одну сторону, то ограничения накладывает вторая сторона (по форматам, алгоритму работы и тп.), если обе доступны для модификаций, то проще.

Мы делали так: обмен сообщениями по HTTP + SSL в качестве защиты.
Внутри - XML с данными (выписка или запрос остатка, например) согласованного формата.
А на стороне ИС хранимки, которые выдирают эти данные.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)