Введение в лицензирование ПО Microsoft




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?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='\

37 Comments

  1. NaKa

    Microsoft резко изменила правила лицензирования ПО в России

    Подробнее: http://www.cnews.ru/news/top/2019-03-15_microsoft_rezko_izmenila_pravila_litsenzirovaniya

    Reply
  2. accounting_cons

    (1) Ну это не резко. Просто OLP c июля больше не будут продаваться.

    Reply
  3. dremik
    Надо заметить, что в качестве базовой ОС по программам корпоративного лицензирования для коммерческих и государственных организаций может использоваться только Windows Профессиональная (в случае Windows 7 – еще и Максимальная). Подробнее – в следующей статье.

    Никаких юридических ограничений на использование Windows 10 Домашняя в коммерческих организациях нет. Хотя раньше (до 10) они были.

    Reply
  4. accounting_cons

    (3)Это замечание не про использование Windows 10 Домашняя в организациях, а про возможность ее апгрейда на корпоративную лицензию (в частности, OLP).

    Reply
  5. capitan
    Отдельно от компьютеров и комплектов OEM наклейки по официальным каналам не распространяются.

    Недавно Microsoft в очередной раз напомнил партнерам, что сертификаты подлинности (СОА) ни при каких условиях не могут распространяться отдельно, наклеенные на листок бумаги.

    Это конечно отличное заявление от людей которые по всей видимости компьютером не пользуются.

    Даже если уборщица просто протирает пыль на системном блоке — через год наклейка будет иметь бледный вид в прямом и переносном смыслах.

    Единственный вариант ее спасти — как раз переклеить на листок бумаги.

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

    Я уже могу ошибаться, но OEM лицензия входит в стоимость изделия и в бухгалтерских документах проходит просто как покупка Ноутбук ….

    Не говоря уже о случаях перепродажи этого ноутбука, это ведь OEM не запрещает.

    Reply
  6. accounting_cons

    (5) Надо хранить документы от поставщика. Как бухгалтерия оприходует ПК, значения не имеет.

    Reply
  7. capitan

    (6)В документах поставщика он будет значится как Ноутбук MSI GT63 Titan 8RG-050RU

    (6)

    Как бухгалтерия оприходует ПК, значения не имеет

    до тех пор, пока вы его не продаете дальше

    Reply
  8. accounting_cons

    (7)Правильный бухгалтер при перепродаже оприходует товар ровно в тех же наименованиях, что написано в документах поставщика, отгрузит и забудет.

    Reply
  9. RocKeR_13

    (5)

    Это конечно отличное заявление от людей которые по всей видимости компьютером не пользуются.

    Даже если уборщица просто протирает пыль на системном блоке — через год наклейка будет иметь бледный вид в прямом и переносном смыслах.

    Единственный вариант ее спасти — как раз переклеить на листок бумаги.

    Ну не знаю, на ноутбуке спустя 7 лет читается, хотя он по большей части при работе размещался на коленях. Клеят, обычно, все-таки изнутри корпуса, либо предварительно ламинируют, например.

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

    Reply
  10. capitan

    (8)Правильный бухгалтер и правильные пацаны используют надкушенное яблоко.

    А Вы вот можете дойти до вашего бухгалтера и посмотреть как оприходован ваш ноутбук и есть ли там упоминание о лицензии?

    Что бы не быть голословным

    Я вот могу

    Все ноутбуки с OEM на борту

    Reply
  11. accounting_cons

    (10)Я не торгую ноутбуками.

    Скоро и до них дойдет маркировка, и бухгалтерскому креативу придет конец.

    Reply
  12. capitan

    (9)OEM на самом деле очень интересная тема.

    К примеру можете ли вы отказаться от OEM ? раньше и периодически такое было возможно.

    И в вашей версии — к чему она привязана ? Если вы корпус поменяете это будет OEM ?

    И вам как частному лицу Microsoft может OEM запретить продать другому частному лицу, а ноутбук оставить себе или корпус ?

    Reply
  13. capitan

    (11)Вспоминается…

    США ввели ограничения на продажу в Россию программного обеспечения. И этим они собираются подорвать экономику страны, в которой покупка ПО рассматривается как акт благотворительности?

    Скорее чем до ноутбуков дойдет маркировка…

    Reply
  14. RocKeR_13

    (12)

    К примеру можете ли вы отказаться от OEM ? раньше и периодически такое было возможно.

    Как сейчас дело обстоит — не знаю, ни разу не приходилось возвращать стоимость OEM-лицензии, хотя о такой практике слышал

    И в вашей версии — к чему она привязана ?

    Могу ошибаться, но привязка идет к материнской плате: при замене требуется новая лицензия, за исключением замены при гарантийном ремонте

    Почитал: пишут, что привязка идет к основным компонентам. При смене компонентов начисляется N количество баллов: при накоплении определенного количества баллов лицензия перестает работать.

    И вам как частному лицу Microsoft может OEM запретить продать другому частному лицу, а ноутбук оставить себе или корпус ?

    Из вышесказанного следует, что, вообще говоря, установить ее на другой ПК/ноутбук не получится, если лицензия уже была активирована. Тут, опять-таки, на практике не доводилось пробовать

    Reply
  15. capitan

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

    Microsoft то кстати в большинстве случаев максимально лоялен

    Reply
  16. capitan

    (14)

    Я тоже могу ошибаться но у производителя привязка идет к серийному номеру изделия.

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

    Потому что мат. плату вам могут поменять по гарантии

    А теперь вот представьте что вы этот ноутбук продаете организации, это же не запрещено законодательством.

    Reply
  17. accounting_cons

    (15)Здесь нет рекомендаций, кроме одной — читать лицензионные соглашения и другие приравненные к ним документы, выпускаемые вендором.

    Reply
  18. RocKeR_13

    (16) в принципе да, наклейка теперь не так важна, так как данные лицензии хранятся на серверах MS. И при проверках в случае отсутствия наклейки вопросов все равно возникнуть не должно, либо эти вопросы будут исчерпаны после общения с MS. В случае гарантийной замены, я так понимаю, OEM-производитель/поставщик должен передать данные о произведенной замене, чтобы лицензия не перестала работать

    Reply
  19. oldcopy

    Вопрос лицензирования — это вопрос юридический, а не технический. Технически никто не мешает перенести OEM лицензию на другой ПК (она нормально активируется), никто не мешает купить наклеек незадорого, но юридически это будет нарушением, хотя есть варианты.

    Большинство пользовательских лицензий (кроме терминальной на устройство) вообще никак технически не контролируются. Но это не значит, что их можно не покупать.

    Reply
  20. capitan

    (19)

    никак технически не контролируются.

    Здрасьте приехали. А это что вам — хвост собачий

    Reply
  21. capitan

    (18)Вот мы и договорились )

    Reply
  22. oldcopy

    (20)

    Здрасьте приехали. А это что вам — хвост собачий

    Пользовательские лицензии — это CAL (Client Access License) — их наличие в большинстве случаев никак технически не контролируется.

    Reply
  23. Dragonim

    (3) Ни когда не было ограничений на использование Домашней лицензии в коммерческих организациях. Не однократно проверял это начиная с Windows XP/

    Reply
  24. accounting_cons

    (23) Я с этим и не спорю.

    Reply
  25. Dragonim

    Вопрос по поводу лицензирования Windows 10 Pro. Раньше всё было просто: новая windows выходит примерно раз в 3-5 лет.

    Windows XP (2001)

    Windows Vista (2006)

    Windows 7 (2009)

    Windows 8 (2012)

    Windows 10 (2015)

    Покупаешь OEM лицензию с компьютером для фирмы и живешь с ней или доплачиваешь и ставишь более новую версию. Но начиная с 2015 года Microsoft позволили все компьютеры с OEM лицензией windows 7 и windows 8 обновить до windows 10 бесплатно (а это компьютеры начиная с 2009 года), а потом начала выпускать большие обновления каждые пол года.

    Как это всё с точки зрения лицензирования?

    Правда что компьютер купленный в 2009 году с OEM лицензией windows 7 сейчас может работать на windows 10 (1809) и это абсолютно законно?

    Есть ли лицензионные ограничения на OEM windows 10 компьютеры купленные сейчас?

    Я слышал что поддержка только 2 года, а что потом?

    Reply
  26. accounting_cons

    (25)

    Правда что компьютер купленный в 2009 году с OEM лицензией windows 7 сейчас может работать на windows 10 (1809) и это абсолютно законно?

    Если вы успели в сроки акции по бесплатному обновлению перейти на Windows 10, то все ОК. Пользуйтесь на здоровье.

    Reply
  27. accounting_cons

    (25)

    Есть ли лицензионные ограничения на OEM windows 10 компьютеры купленные сейчас?

    Я слышал что поддержка только 2 года, а что потом?

    Это слухи.

    Reply
  28. zavhome@gmail.com

    (22)

    Пользовательские лицензии — это CAL (Client Access License) — их наличие в большинстве случаев никак технически не контролируется.

    Ну, можете продолжать так думать 🙂

    Reply
  29. oldcopy

    (28) Ну и как это реализовано? Просветите нас. Вы вообще видели как эти самые CAL выглядят?

    Reply
  30. Alex_Citizen

    Здравствуйте. А если обновление с Windows 7 до Windows 10 прошло на ПК, где был установлен VL-ключ. Такой вариант возможен с правовой точки зрения? Или это возможно только с OEM-лицензией (как было написано выше)? Спасибо.

    Reply
  31. accounting_cons

    (30)Зависит от того. какая у вас лицензия. Windows7? Есть ли Software Assurance? Какая программа лицензирования?

    Reply
  32. Alex_Citizen

    В наименовании продукта написано Microsoft WinSL 8.1 Russian OLP 1 License NoLevel Legalization Get Genue и Microsoft Windows Professional 8 Russian Upgrade Open 1 License No Level

    Reply
  33. accounting_cons

    (32)Похоже, что все ОК.

    С сайта Microsoft:

    «Я обновился раньше (до 29 июля 2016 года) бесплатно, придётся платить за Windows 10 сейчас?

    Нет. Это специальная акция, чтобы как можно большее количество пользователей ПК на Windows 7 и устройств на Windows 8.1 обновилось до Windows 10. Вот как это описал Терри Майерсон, исполнительный вице-президент группы операционных систем Microsoft:

    «Это больше чем единовременное обновление; однажды обновив устройство до Windows 10, мы будем регулярно обновлять его до последней доступной версии весь срок службы данного устройства без дополнительной оплаты» »

    Нигде нет упоминания о том, что есть исключения из акции по бесплатному обновлению на Windows 10.

    https://answers.microsoft.com/ru-ru/windows/forum/all/%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0­%B4/f006eaea-937e-416e-80db-0f6cabf7b8da

    Reply
  34. Alex_Citizen

    Большое спасибо за ответ. И ещё хотелось бы у Вас уточнить один момент. Официально Microsoft приостановили эту возможность перехода на Windows 10, но технически это всё ещё возможно, насколько мне известно. Почему Microsoft до сих пор не закрыла эту «лазейку»? Может компания надеется на честность самих пользователей (особенно в случае домашних ПК, так как там контроль специальных органов по поводу лицензирования рабочего места вообще маловероятен); либо это сделано сознательно, чтобы как можно большее число пользователей перевести на их современную операционную систему? Просто интересно прочитать ваше мнение по этому поводу.

    Reply
  35. accounting_cons

    (34)У меня нет ответа, это надо спрашивать у Microsoft.

    Reply
  36. maxim4566

    (26) А вот где-то ссылка была, что обновились вы бесплатно. Но покупку лицензии никто не отменял.

    Reply
  37. maxim4566

    (34) Следить так проще за пользователями. Да и сточки зрения поддержки тоже.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *