<?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='\
1. Причем тут защита 1с и вообще 1с?
2. Вот понаписали кучу программ для блокировки флешек. А надо всего-то одно значение в реестре поменять
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesUSBSTOR]
«Start»=dword:00000004
Что за админ, который не может это сделать ручками?
Могу поспорить не всегда надо полностью отключить USB иногда оно используется в данной программе используется пароль после ввода флешка работает а постоянно в реестре что то менять на мой взгляд геморойно
Полностью отключать УСБ лучше всего кусачками
Кто сказал, что данная фишка отключает всё УСБ? Только флешки.
Для нормального админа не составит труда сделать 2 reg-файлика и включать и отключать флешки.
Может Вы ssp_ и правы! Но для чего писать 2 .reg файлика когда есть моя программа:)
Предлагаю использовать более короткий вариант :)применительно к 1С
Показать полностью
Жалко что программа не кому не нужна:( Я ее не много доработал включил автозагрузку и блокировку CD-ROMa. Спасибо Гаспода за ваши коментрарии…
Программа нужна. Только я не понимаю, как она работает. Захожу в настройки, ставлю свой пароль, нажимаю ОК. Скрыть в трей. Нажимаю на иконку в трэе, нажимаю настройку и вхожу в нее без всякого пароля. Вижу свой пароль и делаю с ним все, что угодно. В чем фишка?
Автор, пишите, пожалуйста, по-русски.
Программа нужная, только с багом, либо с глубоким полетом программерской мысли до которого я не дошел. Кроме «пароль неверный», и внезапного перехода в настройки в обход пароля, я ничего не получил. Поломанана:)
Сергей, идея конечно интересная ! Но баг с паролем есть … (см. 7). У меня Вин 2003 Сервак — может из-за этого …
А от мобильных жестких дисов она вообще никак не защищает, так что, есть над чем работать.
Перезалил проблема с паролем возникала из за того что нужна была перезагрузка прогргамма для принятия изменений (вылечил)
Добавил:
1)Автозагрузка программы
2)Блакировка дверцы CD-ROMa
Пишите пожалуйста коментарии, пожелания.
(4) По-моему уважающий себя админ сделает 2 reg-файлика или по примеру (5) вместо того, чтобы ставить не пойми кем и как написанную программу. А то еще вдруг какая нужная инфа пропадет как вhttp://www.infostart.ru/projects/1793/
(8) да, боязно запускать программы от автора, у которого с русским языком проблема
А можешь сделать, чтобы дверца CD(DVD)-ROMa открывалась тоже с паролем? Так же лучше сделать и на нажатие Ctrl+Alt+Del
И конечно же нужно блокировать внешние жесткие диски, пароль спрашивает, но при нажатии «Отмена», роли не играет.
А можешь сделать, чтобы дверца CD(DVD)-ROMa открывалась тоже с паролем? Так же лучше сделать и на нажатие Ctrl+Alt+Del
И конечно же нужно блокировать внешние жесткие диски, пароль спрашивает, но при нажатии «Отмена», роли не играет.
P.S. для ssp_: а где ты будешь хранить эти файлики? Продвинутый пользователь тоже сможет их запустить!
а типа парол та где хранитьса? в реестре?
и отличить флешку которая определяется как сьемный винт от обычной тоже можно у меня похожая программулька тут есть там в исходниках в функции определения флешки есть нужное
Пароль хранится угого где:)) Сейчас опять дорабатываю
Будет пароль на открытие CD-ROM
Будет пароль на CTRL+ALT+DEL
Попробую побороть внешние жесткие диски (если kandellaster еще подкинет исходники дело пойдет быстрее)
(15) читаем про безопасность реестра и не боимся продвинутых пользователей
Народ, а что за ажиотаж?
http://infostart.ru/projects/1568/
http://infostart.ru/profile/1329/projects/1628/
давным давно лежат….
А можно просто права пользователя — в «пользователь», и сетевой диск на первую свободную букву сделать…
Желательно, при автозагрузке чтобы сразу сворачивалась в трей и была там невидимой.
Я тоже за то, чтобы программа была скрытой, были бы быстрые кнопки вызова (если выбраны кнопки, то невидима). И вообще лучше бы ее скрыть в Диспетчере задач. Еще раз напоминаю о желании зашифрованного пароля при вводе в Настройках (*****).
Теперь пароль при вводе в Настройках отображается (*****)
Добавлено :
— Ведение лога
Изменено :
— Защита
— Фон блокировки
Жду коментариев:)
Зачем это? Просто в настройках винды запрещаешь пользователям нужные тебе диски — хоть дисковод, хоть жесткий, хоть CD …
Ну лично мне когда мне надо вставить флешку я не полезу в настройки винды разрешать доступ мне проще ввести пароль!
Дак и не надо! У пользователей своя учетная запись (Админ но с минимумом полномочий в т.ч. и доступ к дискам), у меня своя — жму Win-L и делаю что хочу
А если нажать Ctrl-Alt-Del то можно этот блАкиратор снять? Слишком просто… Если Ctrl-Alt-Del блокировать , то с зависаниями как бороться?
Кому как удобнее:) На подходе новая версия данной программу в ней будут реализованны следующие возможности:
Теперь можно указать в настройках параметр «копировать с флешки» то есть после вставки в компьютер флеш носителя все файлы будут скопированы на компьютер без запроса пользователя по маске и в указанную администратором папку.
Теперь можно будет указать имя файла, если на носителе будет обнаружен файл флешка не заблокируется.
Не очень понял — паролится просто USB накопитель или пароль привязывается к флешке т.е. можно разрешить свою флешку , а если продавец, бухгалтер (не важно) принесет свою флешку то ему нет доступа без пароля. Если избирательно, то очень интересно , а если все флешки без разбора то в XP Tweak-ре можно настроить то-же за 5 сек.
Вот пытаю реализовать такое скоро выложу посмотрим что получится
А программа по Ctrl-Alt-Del снимается или нет ?
Не жадничаем и покупаем DrWeb. Активируем «Родительский контроль». А там можно и ограничить доступ в интернет, и поотключать все съемные носители (флэшки, CD/DVD, дискеты и т.д. И много чего еще интересного. Пользуюсь на работе и дома. И всем доволен. Особенно, когда юзеры просят открыть одноклассников, или пытаются полазить по порнушке. 😀