Microsoft запускает в РФ модуль для проверки подлинности Windows




Принцип обмена данными из 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='\

25 Comments

  1. vvsokolov

    Особенно понравилась фраза: «Он предусматривает простой механизм заказа через Интернет, несколько вариантов оплаты и доставку по стране.»

    Интересно, это будет работать? 😀

    Reply
  2. tango

    где китай и где рф

    Reply
  3. wirg

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

    Reply
  4. JohnyDeath

    (4) когда она будет снята?? 98-ю до недавнего времени еще тащили, а ты про ХР говоришь.

    Reply
  5. marsohod

    И без того Microsoft — самое большое сборище миллиардеров и миллионеров, а теперь ваще…

    Reply
  6. Sybr

    У меня и так черный фон на рабочем столе, так что не проблема)))

    Reply
  7. Muhin555

    А как же с «сининим окном смерти»??? ….. оно выскакивает когда отладкой прог занимаешся….

    …»Ход установки следующий: на экране появится окно с предложением принять соглашение на установку WGA, которая является добровольной. «……. Мы тоже добровольно будем посылать Микрософт туда же куда он отправлен сейчас с проверкой своей легальности 😀 В ТОПКУ!!!!!

    Reply
  8. fastwriter

    «Процесс приобретения лицензионного ПО адаптирован для России в сотрудничестве с локальными партерами. Он предусматривает простой механизм заказа через Интернет, несколько вариантов оплаты и доставку по стране.»

    Аха, отлажен. Коробочную WinXP уже несколько лет нигде не достать было. Только OEM. Как будто в развитой социализм вернулись: теоретически оно где-то там было, а на самом деле нигде не было.

    Reply
  9. S_MIXA

    ис хайзе дер ламер: а меня устраивает зверевская сборка, в которой даже ключ лицензии неизвестно где( 🙂 ), интересно, как его лицензировать? 🙂

    Reply
  10. dsfix

    Что-то, я смотрю, комментирующие совсем забыли, что 1С является официальным дистрибьютором Майкрософт. Можно сколько угодно негативно относиться к Майкрософт и Билу Гейтсу в частности, но не следует также забывать и о том, что Майкрософт заняла своё место на рынке и кормит ежедневно тысячи, если не миллионы людей. Господа комментирующие, а вы? Я сам не считаю Майрософт гениальным разработчиком и понимаю, что там собралось сообщество плагиаторов, но… лично я, как человек, которому не чужда экономика (ввиду 1С, кстати) воздержусь от негативно-иронических высказываний в адрес Майкрософт.

    P.S. 1С тоже продаёт свои продукты.

    Reply
  11. Nicholas

    Мне стыдно… у меня лицензионная винда…

    Reply
  12. wolfsoft

    >и кормит ежедневно тысячи, если не миллионы людей

    Себя оно кормит, а на остальных — болт.

    Reply
  13. likan

    Почто? нас та какраз оно и кормит 😀 а сейчас человек «обновится», словит «лицензию» и снова к нам 😉 за пицот рублей винду переустановить…

    Reply
  14. ivnik

    За ВСЕ надо платить! — таков Закон жизни. Интересно, когда введут оплату за воздух?

    Reply
  15. ivnik

    [14] Конечно кормит!…, только и нам «переедать» опасно!!!

    Предупреждение: http://docs.google.com/View?id=dcdrr89z_21cx8c8qmn

    Reply
  16. Steamroller

    ХР ещё не скоро с поддержки снимут, мелкомягкие вроде попытались это сделать, но видимо под давлением возмущённых пользователей решили отказаться от своих планов. Где-то прочитал, что по условиям лицензионного соглашения Microsoft должна сопровождать ХР до 2014 года. Думаю, что у старой доброй ХРюшки есть ещё долгое будущее, то есть ещё она нас покормит.

    Reply
  17. uagav

    Поддержка поддержкой, но Microsoft уже официально отказала в обновлении одного из критических модулей защиты (запямятовал, правда, в каком именно — было это где-то около 1-3 месяцев назад), мотивируя тем, что исходники где-то потеряны, люди, которые это разрабатывали когда-то уволены, в общем есть Vista и 7 … Это как понимать?

    А такие модули как Windows Genuine Advantage (WGA) Notifications мне в обновлениях и раньше приходили, по-моему раза 3 уже. Что же в этом то такого особенного? 😮

    Reply
  18. hren

    А че такое SliverLight? Я его боюсь устанавливать ))

    Reply
  19. ZasraneZ

    С локальными партерами, а это ещё кто такие?

    Reply
  20. leonidt84

    А я буквально неделю назад был у клиентов, так они вируса словили, при запуске компютера синее окно (очень похож на экран активации виндуза) с их фирменными кнопками и сообщение что «Дескать так и так ваша винда нелицензионная, поэтому работа компьютера будет приостановлена. Если хотите продолжать работать, то приобретите легальную копию виндуза у любого официального партнера, либо ПОШЛИТЕ СМС НА НОМЕР… и полученный код введите…». Вобщем шняга такая, что работа компа заблокирована, Контрол-альт-дел не работают. Благо вирус оказался тупым легко выключил его из безопасного режима. Самое смешное что бабушка за компьютером которой это вылезло реально решила что это сообщение винды (по антуражу очень напоминает, такой же интерфейс, такой же юридический язык). Так что Биллу надо принимать на вооружение методы горе-хакеров, и тоже винду принудительно через СМС продавать, а не черные обои делать 🙂

    Reply
  21. marsohod

    (21) Билл уже не рулит… и это радует…

    Сейчас, заработав около $52 млрд., используя, естественно, наемный труд, он занимается благотворительностью, лелея надежду, что его причислят за это к лику святых… Надеюсь, этого не произойдет…

    Reply
  22. Вартан

    [19] У тебя проситься установиться Silverlight plug-in, для того чтобы позволить тебе просматривать в браузере интерактивные/богатые Web приложения (RIA). Можешь думать о нем как о «flash» от Microsoft.

    Silverlight — это будущее Web программирования!

    Нету и не будет лучшего разработчика, чем Microsoft!

    Как можно критиковать (в негативно-ироническом стиле) компанию на чьи продукты так сильно завязан кормящий вас продукт (1С)?

    Reply
  23. B0P0H

    (23) ой ли только на MS завязано все? ой ли?

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

    Reply
  24. extremehelp

    Удаляется этот модуль на раз с помощью различных сканеров автозагрузки, например Osama 5.0

    Reply
  25. restuta

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

    Reply

Leave a Comment

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