Обмен информацией (HTTP, FTP, VPN и прочее)
Здесь:
http://akostina76.ucoz.ru/blog/2017-08-12-4344
… прицеплено три файла. Два надо скопировать в конкретную папку, а третий содержит команду, которую надо выполнить на SQL сервере. Я на даче, сервера неизвестно где. Между нами в лучшем случае несколько десятков километров от дома до работы.
Вариантов множество. Первый и наиболее часто используемый – электронная почта. Т.е местный системный администратор должен скопировать файлы и запустить текст на SQL сервере. Но вообще-то этот вариант также как и вариант личного приезда не всё, что может быть использовано. Добавлю, что электронная почта это одна из «дырок» во внешний мир из которого поступает информаций. А раз уж что-то оттуда поступает, то некоторое сознательное отношение тоже требуется. Через этот канал в этих информационных пакетах тоже может притечь что угодно. Любая информаций по проводам идёт в виде информационных пакетов. Разница только в их формате, канале (порт и прочее) передачи информации, протоколе (методе) обработки (отправки, приеме) информации.
В случае почтового сервера, установленного в организации один метод, а случае почты на любом из сайтов – другой (конкретно HTTP, т.е стандартный протокол и формат страниц Интернета).
Перемещение файлов с информацией в пространстве – стандартная часть почти любой работы. Специально для того чтобы повседневно решать именно эту задачу был придуман ещё один протокол. Это FTP, что расшифровывается как file transfer protocol, т.е протокол перемещения файлов.
VPN, позволяющий удалённо подключаться к локальной сети, появился относительно недавно. А FTP как готовый инструмент существует с 80-х. Довольно часто вход в сеть требуется исключительно для того чтобы скопировать написанный DOC договора или наоборот прочитать какой-нибудь документ хранящийся в общей папке организации.
Всё определяется потребностями в конкретной ситуации. Если требуется только это, то не нужен VPN, достаточно дать доступ к некоторым папкам по FTP.
Но всякое бывает в жизни. Бывают проблемы с одним типом связи, заставляющие поискать другие варианты.
В папке сайта «Отчетов всевозможных» есть папка expl (от explorer). Итоговый отдельный вариант с описанием есть тут:
http://akostina76.ucoz.ru/blog/2016-11-10-3597
В папке «Отчетов» несколько вариантов, включая самый первый expl:
… который при всей своей примитивности решал ту задачу для которой был написан, т.е позволял подгрузить на сервер в конкретную папку сайта небольшой по размеру файл если вдруг FTP по каким-то причинам прямо сейчас не работает.
Это только потом для ощущения запаса возможностей, что ли появились и загрузка больших файлов и просмотр файлов прямо через эту штуку.
Короткий вывод: информация она так и так информация. Всё остальное - настройка процесса передачи информации. Не едут файлы через пакеты FTP протокола? Ну так пусть едут в пакетах Интернета. Какая мне разница если мне просто надо чтобы файл оказался на нужной машине в нужной папке? Доступа к прочим папкам машины у меня, естественно, нет. Но он мне и не нужен. Мне нужна только возможность работать с папкой сайта потому что я ни на кого не хочу вешать эту работу. Дальше выбирается инструмент, позволяющий решить именно эту задачу.
А вот для удалённой работы с SQL сервером нужен VPN. Т.е если надо удалённо работать например с «Кассой», то без полноценного доступа к сети не обойтись, потому что доступ к серверу это не передача данных в файлах, для которой придуман FTP.
Но и это не всё. Работать с «Кассой» можно. Запросто. Нельзя только работать с этой информацией с помощью написанного на Access-е клиентского приложения. А с данными, хранящимися на SQL сервере запросто. Через WEB-приложение, которое (и конкретная программа и выбранный метод – работа с Интернетом) тоже только инструмент, один из многих возможных и выбираемых для решения конкретной задачи.
Нужно только чтобы людям было достаточно предоставленных возможностей для их работы. Остальное может быть просто закрыто. Тоже не панацея. Но лучше уметь открывать и закрывать чем просто всё закрыть. Безопасность важна. Но во-первых её не бывает без опыта, во-вторых удобство работы.. тоже своеобразно повышает безопасность. Просто когда людям удобно и у них и с ними меньше проблем.
Но у меня осталась ещё она не решенная задача. Я могу скопировать два файла. Но мне бы ещё как-то запустить на SQL сервере третий.
Это сделать не просто а элементарно. Ведь сайт постоянно работает с информацией, запуская например хранимые процедуры.
Вот, например, запуск процедуры удаления строки:
А это «завитушки» для запуска именно хранимой процедуры:
Вместо «StoredProcedure» я могу написать «Text» и тогда в CommandText можно записать любую SQL строку (включая то, что в файле с расширением SQL) и она прекрасно выполниться если у пользователя SQL сервера хватает прав.
Чтобы это сделать достаточно страницы, в текстовое поле которой можно скопировать текст команды и кнопки «Выполнить», которая запустит выполнение.
И именно из-за простоты нет у меня такой страницы. Потому что если она есть, то никто не мешает зайти на сайт и запустить удаление всех записей таблицы, например. Понятно что есть резервное копирование и прочие вещи, но всё равно неприятно. Потому возможность копирования легко восстановимых текстов сайта у меня была сделана а запуск SQL команд нет. Это мне показалось слишком небезопасным. Так что всё определяется задачами и ситуацией. Нужен какой-то баланс удобства и безопасности.
|