<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Demo — не работает!!!
с точки зрения ИТ-безопастности такой вариант недопустим, ни в коем случае нельзя расшаривать базу на весь мир, ставьте OpenVPN (с правильно настроенным шифрованием) например и разрешайте доступ к адинэске только в пределах впн.
(2) на демо базу вполне можно дать общий доступ
другой момент, что не все провайдеры дают белый IP для домашнего интернета, и ниодин динднс не сможет достучатся до твоего роутреа. например у моего прова IP стоит 200 р/месяц
А чем TeamViewer плох для демонстраций? Или именно веб-сервер хочется поднять?
anton.fly7,
На демку можно, но лучше сразу рассуждать применительно к реальной работе через веб.
(1) Demo работает, когда включена моя машина
(4) Тимвьюер не плох — это тоже один из способов демонстрации со своими плюсами и минусами, наряду с веб-сервером. Но веб-сервер нагляднее демонстрирует перспективные возможности 8.2.
Если у роутера нет DynDNS, то я ставил на сам комп DynDNS Updater. Только потом так же надо прописывать проброс портов на сетевом оборудовании на этот комп.
(2) Про безопасность ИТ и допустимо не допустимо это сугубо индивидуально. У меня , к примеру, 160 медицинских представителя по Украине работают в базе 8.2, которая смотрит в мир. Люди просто заходят отчитываются, ограниченность ролей дает им видеть только то, что надо видеть. Никому никаких впн поднимать для этого не надо. Есть другой проект на котором есть впн на сервер и коннект на базу идет по внутреннему адресу сервера в сети. Все индивидуально.
[quote](2) Про безопасность ИТ и допустимо не допустимо это сугубо индивидуально. У меня , к примеру, 160 медицинских представителя по Украине работают в базе 8.2, которая смотрит в мир.[/quote]
Японцы построили АЭС Фукусима на берегу океана, на защите от цунами съэкономили, тоже 40 лет все было нормально. А теперь как говорится, «поздно пить боржоми».
Сама по себе статья хорошая, но нужно дополнить, что в практической эксплуатации это допустимо при условии что на компе ничего ценного, кроме порнухи нет.
За идею плюс , хотя, конечно, каждый вложил бы в реализацию что-то свое…
(8) ну это же модель, а не руководство по настройке продакшн сервера, ставте и openvpn, и шифрование, и вообще все на отдельную виртуалку…кто как хочет…
(8) Ну вы сравнили Фукусиму и одиноко стоящую базу для отчетов 🙂
(7) совершенно верно. если есть роутер, то проброс портов обязателен.
По поводу
[quote]Не нужно тратить деньги на лицензии серверного ПО[/quote]
по моему раз уж нашлись деньги на
то на серверном ПО а также железках (роутере) и вообще безопасности экономить не стоит
По поводу безопасности — это да.
Сменил пароль и имя пользователя. Если кому нужно — Имя: 1, Пароль: 2. Выбрал Административные роли. Что дальше? НайтиФайлы(«C:»,»*»);
Ну хоть это не так просто. Не получилось 🙂
Делал это не ради стеба, а опыта для.
Вообще поставил бы еще один плюс за смелость выложить конфигурацию под web клиентом.
(14) 😀 наивный…
(14) то, что я не ограничил намеренно доступ — это моя добрая воля. очевидно же, что при необходимости можно все и вся закрыть внутри 1с — например выдать доступ только на чтение для демонстрации
(13) вы уклонились в другую сторону. я писал про экономию при поднятии веб-сервера, а не при развертывании самой платформы. на платформу нужно будет тратиться как при поднятии профессионального веб-сервера, так и при развертывании в домашних условиях.
Некоторые соображения по безопасности не требующие дополнительных денег, а также знания всяких VPN’ов
1. Лучше как раз динамический IP безо всяких DDNS. Кому нужен доступ — сообщаем текущий IP. Т.е. чтобы по просшествии какого-то времени он сам по себе становился неактуальным для желающих сканить, сниффить и т.п.
2. Порт на роутере открывать не стандартный 80 а какой-нибудь 51354, и роутером же пробрасывать его уже на 80 порт компа внутри. Так как всегда есть куча желающих поинтересоваться, а не открыто ли что-нибудь на 80 порту. Кроме того некоторые провайдеры (тот же Стрим) режут входящие соединения на часто используемые порты, ибо большинству их пользователей они не нужны.
3. Порт открывать по запросу желающего поиграться с базой и потом закрывать назад. Ну или хотя бы временной интервал доступности на роутере выставить.
4. На IIS все страницы с сообщениями об ошибках (404) и т.п. сделать пустыми. Т.е. чтобы «недобросовестный» пользователь мог получить минимум информации о сервере где все это крутится.
(18) да, дополнительная секьюрность не повредит
В анонсе написано:
я по простоте душевной подумал, что речь идёт о том, что на сервере Инфостарта можно будет хостить демобазы разработок на управляемом интерфейсе. А по факту мы имеем редирект на частный ПК с веб-сервером с сомнительной лицензией на 1С.
Моё ИМХО: в статье практически нет новизны, за исключением загрузки стартовой страницы через <iframe>. Сервисы типа dyndns сейчас в состоянии подключить даже школьники для игры через Интернет. Поднять виндовый веб-сервер тоже особых способностей не нужно.
Совет начинающим: даже и не парьтесь с IIS. Сразу ставим Apache2.2 и работаем без проблем
(21) Ну и приложил бы к своему совету линк/инструкцию по установке Апач 2.2
(0) ИМХО забыто количество необходимых лицензий для работы тонкого клиента — сколько подключений, столько и лицензий (программных или аппаратных) нужно.
Хотя как раз на веб-сервере очень хорошо заюзать пиратские ключи, проверить крайне сложно.
(22) Ну установка там ничего не стоит(http://yandex.ru/yandsearch?text=apache+%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA %D0%B0&clid=48761&lr=213)…тонкое конфигурирование, конечно…но здесь и не нужно…(20) И много подобных публикаций? Если вы про технологии, используемые, то мы все уже отстали…проблема не в том сложно или нет, а в том, что можно конф-ции показывать на ИС. во фрэйме тем более нет новизны, как увидел, сразу на ифрэйм и подумал.
(22)
[quote]ИМХО забыто количество необходимых лицензий для работы тонкого клиента — сколько подключений, столько и лицензий (программных или аппаратных) нужно[/quote]
Это для веб клиента нужно. А тонкий клиент вроде умеет как с сервера, так и локальные лицензии цеплять
(22)
инструкция:
тупо гуглим «apache2.2 скачать», тупо скачиваем, тупо запускаем инсталляху. всё 😀
(20) «Сервисы типа dyndns сейчас в состоянии подключить даже школьники для игры через Интернет. Поднять виндовый веб-сервер тоже особых способностей не нужно.»
То-то я смотрю 30 человек уже «плюсонулю» 🙂 В ваших знаниях я нисколько не сомневаюсь, но давайте предоставим людям самим решать — полезна им статья или бесполезна. Кому неинтересно и материал кажется не новым — тот просто молча пройдет мимо в поисках нужных ему публикаций.
(20) Да и еще
как вы себе представляете? ИС каждому будет лицензии покупать 😀
(27)
[quote]как вы себе представляете? ИС каждому будет лицензии покупать[/quote]
Зачем каждому покупать?
Тонкий клиент может брать лицензию на стороне пользователя (вряд ли разработки люди без 1С смотрят).
(28) А сама платформа?
Почему нет(я на убунте сижу например и нет никакого на ней 1С)? Вы хотите доказать, что вложений со стороны ИС будет ноль?
(22) да, вопрос лицензирования я в статье не рассматривал — рассматривался только технический аспект функционирования технологии
(27) Мне кажется, что если Инфостарт позиционирует себя как хостинговая площадка в т.ч. и для платных публикаций, то вполне логично организовать что-то вроде хостинга демобаз на управляемом интерфейсе. Тут, конечно, специалистам по онлайновому бизнесу следует просчитать, сколько разработчик может платить в месяц за хостинг демобазы, не слишком ли дороги лицензии 1С.
Думаю, что самостоятельно 10-ти разработчикам поднять и содержать сервера с демобазами при честно купленных лицензиях будет в разы дороже, чем арендовать место на хостинговой площадке, заточненной под 1С 8.2.
(31) Какой-нибудь дата-хостинг…хм..почему нет…
(29) (30) (31)
Насчет лицензий.
1. У большинства (но не всех) 1С есть, их и использовать.
2. Для тех у кого их нет — купить некоторое количество лицензий
3. Сама платформа стоит не дорого, да и она наверняка есть.
4. Пользователи предупреждаются, что демо-базу лучше запускать с компа, где есть лицензия — тогда гарантирован вход сразу. А если лицензии нет — то, в определенных случаях (все лицензии заняты) придется подождать, пока освободиться. Ну или онлайн-запись ввести на тестирование на определенное время
(31)
[quote]Мне кажется, что если Инфостарт позиционирует себя как хостинговая площадка в т.ч. и для платных публикаций, то вполне логично организовать что-то вроде хостинга демобаз на управляемом интерфейсе.[/quote]
Если уж хостинг делать, то терминал сервер на нормальном интерфейсе, это на порядки более актуально. Кроме того он и с управляемым сможет работать.
(33) насчет терминала может быть, но все остальное имхо бред,…а то мол, если нет лицензии купить, если нет платформы купить…да для того демка и нужна, чтобы решить покупать вообще что-то или нет…
(34) Тогда в автосалонах тоже бред — хочешь демо-машину поглядеть (тест-драйв) — а с тебя сначала права купить требуют 🙁 … для того тест-драйв и нужен, чтобы решить покупать вообще что-то или нет…
(35) Рассказывай про аналогии гендиректору Васе Пупкину, у которого есть толстый кошелек и желание автоматизировать свою контору, а вот желания разбиратся почему у него не запускается демка у него точно не будет, он ее закроет, со словами «глючная поделка» и забудет
(33-35) Че-то вы не в ту степь… Как статья называется? : «Настройка веб-сервера в домашних условиях»
У многих в домашних условиях лицензионка стоит? Ой, не смешите 😉
(37) Меня кстати тоже позабавило…1С сервер в домашних условиях, 50 ключей…все тип топ…
(38)
Вот-вот. Намного интересней было бы практичексое исследование на тему, можно ли (во всех смыслах) версию для обучения программированию использовать в качестве исполняемой подложки? И если да, то какую нагрузку реально выдержит файловая база с веб-сервером? А то 50 ключей в эмуле поставить много ума не нужно.
Для разработчика коммерчеких решений технологии и техника реализации, ИМХО, вторичны. Тут лучше бы задуматься над экономической целесообразностью разработки, затратами на продвижение, лицензионной и патентной чистотой плюс о защите авторских прав. Я уже неоднократно высказывал мнение, не здесь правда, что 1С как платформа для индивидуального продуктового бизнеса весьма скудна. Людей, сумевших доказать обратное, в среде 1С можно пересчитать по пальцам.
(39)
учебную версию только в терминале, она однопользовательская и без клиентсервера.
Проще официально сделать учебную версию своей разработки и продавать как учебную (по аналогии с учебной бухгалтерией (300 р)).
Что все так за терминал цепляются? Если мы минимизируем расходы, то XP, как и Vista, и Windows 7 — это однопользовательские системы. Любое терминальное подключение будет завершать работу консоли, плюс одновременно двое не войдут на терминальную XP. Это если без патчей dll-лек. Т.е. нужен уже Windows Server c 5-ю CAL и дополнительно нужно покупать терминальные лицензии.
С веб-сервером мы избавляемся от CAL-подключений и недостатков терминала. Это во-первых, а во-вторых, никто не мешает сделать файловый вариант демобазы, без сервера 1С:Предприятие. Да, всё это будет тормозить при нескольких подключениях. Но работать в тестовом режиме можно будет. И тут интересно, реально ли легально использовать учебную версию как прокладку между файловой базой и веб-сервером? И насколько данный вариант булет рабочим с технической точки зрения. Ведь мы знаем, что учебная весрия искусственно замедлена по сравнению с коммерческой.
(41)
А легально накатить легальную 1С на нелегальную домашнюю винду? 😀
Я бы не стал рисковать выставляя 1С на хаспе в инет.
🙂 наздаровье
(44)Какова последовательность действий была ?
(44) Зачем тему спалил? 😀 Автор взял и потушил сервак.
(44) Зачем тему спалил? 😀 Автор взял и потушил сервак.
(44) Зачем тему спалил? 😀 Автор взял и потушил сервак.
компьютер бы ему тоже не помешало выключить…и занятся делом…
(44) Вообще это в личке писать надо…этика знаете ли…
Ну автор вообще-то все сделал для того, чтобы этим и кончилось — выложил скриншоты с моделью роутера, используемым фаерволом, открытыми портами и т.п. Это все равно, что написать статью «как защитить машину от угона» и фотки своей реальной машины с госномером и описанием где установлена и какой модели сигналка, какие цепи ей блокируются и т.п.
Кстати,
означает в переводе на юридический:
«Люди добрі, в мені ламана 1С стоїть удома, трімайте мене»
😀
(44) Зачем тему спалил? 😀 Автор взял и потушил сервак.
(53)
[quote]Кстати, Цитата
Локальный HASP4 ORGL8 50
означает в переводе на юридический:
«Люди добрі, в мені ламана 1С стоїть удома, трімайте мене» [/quote]
У меня так пишет при реальном ключе на 50 пользователей.
(55)
Вот и я про то же 😀 Прикинь — дома реальный ключ на 50 пользователей 😉
(55) но не на домашнем компе наверное? который через dyndns доступен… 😀
(55)(56)
Не думаю, что человек в здравом уме открыто выставит всем напоказ нелицензионный софт.
(50) Звучит как рекомендация от руководства 🙂
(58) Придется согласиться: у него дома 50-юзерная лицензия 😀
(58) не думаю, что человек в здравом уме выставит сервер на работе всем напоказ…да и фотки аленки как-то не вяжутся с работой 😀
79.165.23.20 не твой? cnt.ru?
(62) а нафига dyndns спрашивается? народ наивный …
(60) (61)
Держать сервер дома, а не в офисе — вполне нормальное дело, так как:
1. Инет дешевле
2. Квартира обычно в собственности, а офис — в аренде (со всеми вытекающими из этого последствиями)
3. Дома — жилое помещение, т.е. гостям, чтобы прийти надо больше бумаг оформлять
(64) Под сервером понимается обычный системный блок? В противном случае, одну комнату придётся выделить под коробку с ревущими вентиляторами. А пожаробезопасность? Особенно если человек один живёт. И в съёмной квартире.
Подробная последовательность действий сообщена автору.
(66) Так может ее обнародовать нужно, чтобы другие люди не совершали таких ошибок?
(64)
….
3. Дома — жилое помещение, т.е. гостям, чтобы прийти надо больше бумаг оформлять
Опять таки согласен, с одним НО:
кто в здравом уме на супер-трудно доступную для «гостей» машину вообще будет ставить лицензионный софт?
(67)Зачем? Чтобы прикрыть халяву? Чтобы подписать себе приговор со стороны пользователей халявы?
не разбирался я…только сейчас статью прочел целиком …(дурацкая привычка у меня между строк читать)…короче, …минусов много…описывать — это целая статья, но две вещи есть — пользуйтесь виртуалкой (бесплатные есть, найдете), и не пользуйтесь шнягой dyndns…веб сервер лучше связка такая ubuntu + apache + postgresql…насчет портов в данном случае не знаю…права, конечно надо настраивать…права надо разграничивать у бд, у ос…помню, относительно давно, мы в общаге прикалывались…многие там dc++ пользовались всякими…вывод никогда не смешивайте сервер с домашним компом, который даже у тру админа может страдать недобезопасностью…
(70)
…веб сервер лучше связка такая ubuntu + apache + postgresql…
Да, но почему тогда у 1С-овцев демо базы крутятся на винде x64 + iis + sql?
(71) 😉 потому, что у них деньги на лицензию есть…вот, что я имел ввиду…
А у 1с в связке с postgresql все нормально с точки зрения промышленной эксплуатации?
Почему все в одну кучу смешивается…пром.эксплуатация это совсем не тоже, что и демобаза для показа потенциальным покупателям, из-за которых вряд ли кто-то будет раскошеливатся на лицензии сервера ms sql и серверную/обычную винду -> вывод использовать как можно более экономичные варианты. Конечно, зря я сказал лучше, я не то имел ввиду, лучше в данном случае, лучше чем использовать пиратские версии, хотя бы из соображений этики,законов….а то холиварщики тут устроят..
(74) А разве линуксовый сервер 1С:Предприятие легально бесплатен?
Вот эта публикация очень для меня полезна! Спасибо большое автору. Завтра буду пробовать.
(75) Нет, платный, потому и сказал как можно более экономичные варианты, не значит
ворованныебесплатные(70)
Зачем вообще сервер 1C для демо-базы? В ней же данных не много.
Сделать одну эталонную файловую базу + когда пользователь заходит на страницу, где находится вход в 1С (неважно хоть веб клиентом, хоть тонким хоть терминалом), эту базу копируем и пользователя пускаем в КОПИЮ. По окончании работы пользователя копию удаляем.
(79) конечно,можно и так…я не думаю, что это стоит обсуждать…каждый решит в зависимости от ресурсов,целей,задач, что ему нужнее…
(79) По такой схеме не получится одновременно запускать больше одного пользователя.
(81)
[quote]По такой схеме не получится одновременно запускать больше одного пользователя.[/quote]
Копия базы создается для каждого пользователя своя, т.е. могут работать несколько пользователей, причем друг другу они мешать не будут.
При такой схеме можно разрешать пользователям менять данные в базе, в т.ч. удалять объекты, не боясь, что кто-то удалит все.
Если хочется посмотреть одновременно работу нескольких пользователей в одной копии (например два сотрудника одного и того же потенциального покупателя), то можно присваивать при создании копии ей некий идентификатор, а входов сделать два
1. (по умолчанию) — в новую копию
2. (при вводе идентификатора) — в существующую копию
Копию удалять по завершении работы в ней всех пользователей. Если конфигурация сложная, и для ознакомления с ней пользователю требуется несколько дней, то удалять через неделю.
(82) Этож сколько оперативки надо будет ставить на комп, чтобы под каждого пользователя отдельную базу делать?
Если есть пример такой организации работы пользователей, то можно ли глянуть?
Доброе время суток.
Скажите, а при настройке на WinSeven или Server 2008 есть ключевые отличия от указанного примера или нет???
Пытаюсь настроить iis, ip-адрес статический, с чем может быть связано такое сообщение?
No web site is configured at this address
А на статический айпи без динДНС можно будет заходить, или у динДНС еще какая — то функция, кроме доменного имени?
(86) stas1kbob,
1. На статический ip заходить можно без dns
2. DNS позволяет создать на одном ip адресе несколько серверов. Напримет support.mysite.com, clients.mysite.com и т.п. Без ДНС разделение возможно только портам что не всегда приемлемо.
Не подключается. Вообще никак. роутер даже убрал, через провод включил. вин 7, открыл порт 80. Захожу через сайтhttp://2ip.ru/ например, пишет адрес не тот, что у меня в сетевых подключениях. говорит, что порт 80 закрыт. айпишник статический. на локалхосте могу зайти на базу.
(88) брандмауэр отключать пробовали? конкретно кто и что говорит?
пробовал.(89) конкретно ошибок не выводится, просто с другого компа в мою базу нельзя зайти
научите и меня плиз) у меня все получилось через апатч, опубликовал но только в пределах локалки заходят через интернет не знаю как сделать что бы другие заходили(
(13) nafa, чтобы не тратить бабки на серверное ПО, нужно юзать Linux. ИМХО, большинство сайтов юзают LAMP сервер