Взлом 1С7.7. Почему нужно переходить на новые технологии

Программный продукт 1С получил на наших просторах большую популярность. Многие компании, начав использовать 1С7.7 продолжают с ним работать, хоть давно есть новые версии продукта 1С: Предприятия. 1С7.7 перестала обновляться в 1999 году. Т.е. 21 год назад данный программный продукт не изменялся. В те времена мало задумывались о безопасности систем. Как результат – полное отсутствие механизмов безопасности в данном программном продукте. Многие компании, которые используют 1С7.7, используют его файловый вариант на базе устаревших на данный момент dbf-файлов. Даже если используется 1С7.7 с MsSQL (что редко бывает), этот вариант взламывается в 2 счета с помощью перехвата пароля и логина администратора базы данных, который пересылается при подключении к базе данных клиент-серверными программами. В данной статье, не будем рассматривать вопрос взлома 1С7.7 на базе MsSQL, т.к. хоть этот взлом прост, тем не менее, требует некоторых специальных знаний от взломщика. Взлом же 1С7.7 на базе dbf-файлов может провести даже не квалифицированный пользователь компьютера (не то, что “продвинутый пользователь”). Взлом 1С7.7 на базе DBF-файлов Имеем базу данных 1С7.7. Запускаем 1С7.7. В открывшемся окне смотрим путь к базе данных: При входе в базу данных запрашивается пароль и имя пользователя. Создается впечатление защищенности программы. Идем в каталог, который посмотрели при входе в программу. Видим ВСЮ БАЗУ ДАННЫХ. Нам никто не помешает скопировать всю базу данных, сделать в ней изменения или удалить её. При этом, сложно будет обнаружить, кто это сделал. И админ даже не увидит, что базу данных “увели”. Если хочется получить административный доступ, переименовываем каталог usrdef, входим под админом – не запросится ВООБЩЕ пароль и логин. Сделав […]

Read more

Введение в интерфейс Мemcached для MySQL InnoDB

В предыдущих статьях серии: Простое разделение чтения и записи с помощью MySQLnd в PHP Продвинутое разделение чтения и записи с помощью MySQLnd в PHP: часть 1, часть 2 В MySQL 5.6 появилось memcache-совместимое хранилище ключ-значение на базе движка Innodb. InnoDB Memcache Daemon предоставляет вам стабильность innodb для данных вида ключ-значение, доступ к которым может быть организован через более быстрый и оптимизированный протокол memcached. При использовании данного протокола будут пропущены: парсинг запроса, его оптимизация и остальные части обработки, которые не требуются. С помощью mysqlnd_memcache, вы можете прозрачно направлять ваши запросы к такому memcache-совместимому интерфейсу. Установка Стандартные пакеты MySQL 5.6, которые поставляются Ubuntu (Trusty), не включают в себя плагин memcache. Для использования этого плагина вам потребуется установить его из официальных apt-репозиториев MySQL-я (для Debian 7.x Wheezy, Ubuntu 12.04 Precise и Ubuntu 14.04 Trusty). После того как вы установили MySQL 5.6 (или выше), необходимо войти в MySQL под суперпользователем и выполнить следующее: SOURCE /usr/share/mysql/innodb_memcached_config.sql; INSTALL PLUGIN daemon_memcached SONAME “libmemcached.so”; Скрипт innodb_memcached_config.sql делает несколько вещей, и первое, что он делает – это создаёт базу данных innodb_memcache, которая содержит три таблицы: cache_policies: в этой таблице хранятся правила, как выполняются команды GET, SET, DELETE и FLUSH. containers: эта таблица содержит список ваших таблиц, к которым возможен доступ с помощью memcache config_options — в этой таблице хранятся настройки memcache, а именно — разделитель многоколоночных значений – separator (по умолчанию вертикальная черта “|”) и разделитель обращения к таблицам table_map_delimiter (по умолчанию точка “.”) Второе, что выполняет скрипт – загружает сам плагин и запускает memcache демона внутри MySQL. Теперь всё […]

Read more

Включение Slow Query Log без перезапуска MySQL

Порой при работе приложений, работающих с бд, возникает падение производительности, в качестве одного из вариантов может быть убогий неоптимизированый запрос, выполняемый дольше чем планировалось. Для отслеживания данных запросов придумали Slow Query Log, состоит журнал из SQL выражений, времени начала запроса, общего времени выполнения, времени блокировки и прочей полезной информации.Включать данный лог можно на ходу, не перезапуская сервер, единственное что необходимо – доступ на запись для процесса от имени которого будет создан лог-файл. Логинимся… mysql -u root -p Устанавливаем месторасположение лог-файла mysql> SET GLOBAL slow_query_log_file = ‘/var/log/mysql/slow.log’; Определям что считать медленным запросом, по-умлочанию 10 секунд, с версии 5.1.21 можно выставить 0, что позволяет собирать все запросы mysql> SET GLOBAL long_query_time = 5; Ну и осталось включить mysql> SET GLOBAL slow_query_log = ‘ON’; Еще можно включить логирование запросов неимеющих индексов mysql> SET GLOBAL log_queries_not_using_indexes = ‘ON’; Данные значения будут сохранены до следующей перезагрузки mysql, если необходимо чтобы оно сохрянялось следует добавить в my.cnf [mysqld] … slow_query_log = ON slow_query_log = /var/log/mysql/slow.log long_query_time = 5 log_queries_not_using_indexes = ON Для того что бы узнать текущие значения: mysql> SHOW GLOBAL VARIABLES LIKE ‘slow\_%’; +————————————+————————-+ | Variable_name | Value | +————————————+————————-+ | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /var/log/mysql/slow.log | | slow_query_log_timestamp_always | OFF | | slow_query_log_timestamp_precision | second | | slow_query_log_use_global_control | | +————————————+————————-+ mysql> SHOW GLOBAL VARIABLES LIKE ‘long_query_time’; +—————–+———–+ | Variable_name | Value | +—————–+———–+ | long_query_time | 5.000000 | +—————–+———–+ mysql> SHOW GLOBAL VARIABLES LIKE ‘log_queries_not_using_indexes’; +——————————-+——-+ | Variable_name | Value | +——————————-+——-+ | log_queries_not_using_indexes | […]

Read more

Как добавить “резиновый” SplashScreen в XE7

Как известно, в XE7 упростили возможность добавления заставки (SplashScreen) для нашего приложения. В этой заметке я расскажу как добавлять «статичную» и «резиновую» заставки. Данная заметка будет интересна тем, кто не умеет читать по-английски или просто не читает справку по студии. По большей части, эта заметка является вольным переводом справочного материала, с некоторыми добавлениями от меня. Update (14.10.14): Добавил ссылку на архив с примером.Update (14.10.14): Добавил дополнение к правилу №3 Update (16.10.14) Добавил информацию о “резиновой” заставке на весь экран (FullScreen) Общие правила для двух типов заставок. Картинки добавлять необходимо через меню «Project > Options > Application» вкладка «Artwork». Перед этим, не забудьте выбрать платформу. Добавляемые картинки должны быть строго определённого разрешения. Это «426×320», «470×320», «640×480», «960×720». Картинки должны быть в формате «png» Далее пункты разделяются….   Статичная заставка. Мы можем задать режим отображения картинки (disabled, clamp, repeat, mirror), подробности в Android API Можем указать «Splash gravity», как отображать картинку, если её размер меньше чем размер экрана.   Резиновая заставка. Данный метод очень хорошо подходит в ситуации, когда вы хотите выводить логотип компании на фоне, цвет которого отличается от чёрного и без растягивания самого логотипа.   Чтобы сделать заставку, при которой ваш логотип на картинке будет всегда статичным, а всё остальное будет растягиваться необходимо, создать 9-patch изображения. Данные изображения содержат служебную информацию в четырёх дополнительных пикселях.   Изображения содержат информацию о блоках отображения картинки. Это блок масштабирования и блок контента. Блок масштабирования – определяет области изображения, которые будут растягиваться. Блок контента – определяет область изображения, где будет отображаться контент (в нашем случае […]

Read more

Настройка EXIM4 для отправки почтовых сообщений в Linux

Что это такое? Exim4 это агент пересылки почтовых сообщений, фактически является простым SMTP-сервером. В нашей статье мы рассмотрим пересылку через SMTP-сервера таких крупных компаний как Google и Yandex. Стоит отметить, что в нашей инструкции предполагается только отправка сообщений, например это удобно для отчетности о работе приложений или событиях. Установка и настройка Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt: apt-get update Для установки выполните команду: apt-get install exim4 Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy: apt-get install exim4-daemon-heavy Чтобы перейти к настройке, выполните команду: dpkg-reconfigure exim4-config Нажмите Ok для начала настройки. На следующем шаге выберите “mail sent by smarthost; received via SMTP or fetchmail” и нажмите Ok. Примечание: internet site; mail is sent and received directly using SMTP – этот вариант подходит для автономной системы с полным доступом к Интернету. Демон Exim принимает сообщения на локальные домены и доставляет их. Исходящая почта будет доставлена непосредственно на почтовые серверы домена получателя. mail sent by smarthost; received via SMTP or fetchmail – этот вариант подходит для автономной системы с ограниченным доступом к Интернету. Демон Exim принимает сообщения на локальные домены и доставляет их. Исходящая почта будет доставлена на Smart host, а уже потом на почтовые серверы домена получателя. mail sent by smarthost; no local mail – этот вариант подходит для клиентской системы, все электронные письма отправляются на Smart host без каких-либо локальных доменов. local delivery only; not on a network – этот […]

Read more

Партнерка К2

Рекламируйте интернет-магазин программной продукции https://corp2.net и зарабатывайте 5% от заказов клиентами сайта, которые перешли в течении месяца по Вашей ссылке. Наша продукция продаётся на самых топовых ресурсах Украины: Розетка, Hotline, F.ua, Prom, Zakupka, Allbiz, Allo и т.п. И если клиенты нашего сайта сделают заказ в течении месяца после того, как зашли по Вашей ссылке на наш сайт, то Вам начислится 5% стоимости сделанных и оплаченных клиентами заказов. Много ли 5% ? Заказы бывают от 5 тыс. грн до миллиона. Таким образом, на одном заказе Вы можете потенциально зарабатывать 250 – 50000 грн. Инструкция регистрации в партнерке Заходите на сайт: https://corp2.net Нажмите кнопку Регистрация. Вводите регистрационные данные. После этого, Вам на почту будет выслано подтверждение. Авторизируетесь на сайте https://corp2.net. Переходите в раздел Партнерская программа. Вы увидите информацию о текущем балансе, а так же о ссылку, которую Вы можете вставить на любой рекламируемой странице. По данной ссылке будет определяться, партнер. Добавив к любой странице сайта: ?promo_id=<ВашКод> вы получите Вашу персонифицированную ссылку рекламодателя. Публикуйте подобные ссылки и зарабатывайте вместе с нами!

Read more

Запуск приложения в режиме «daemon» в Linux

Часто случается ситуация, что нужно запустить приложение в Linux, которое не должно быть завершено при выходе пользователя, а режима демона у приложения нет. На этот случай можно воспользоваться парой приемов. Первый способ Запустить в сессии программы screen, которая не завершается при выходе пользователя. screen -d -m команда использованные параметры: -d -m — Запустить новый сеанс screen, но не подключаться к нему. Так же можно использовать параметр: -S имя — задать имя сессии screen для удобства поиска сессии по имени. Пример: screen -d -m -S backgroud_ping ping 127.0.0.1 1 screen -d -m -S backgroud_ping ping 127.0.0.1 Эта команда запустит пинг адреса 127.0.0.1 и присвоит сессии имя backgroud_ping. Для возврата к приложению и получению управления нужно: посмотреть список активный сессий screen: screen -ls 1 screen -ls в выводе консоли мы увидим имя и PID процесса: There is a screen on: 1218.backgroud_ping (13.05.2016 15:43:34) (Detached) 1 Socket in /var/run/screen/S-root. 123 There is a screen on:        1218.backgroud_ping     (13.05.2016 15:43:34)   (Detached)1 Socket in /var/run/screen/S-root. запущенная сессия будет иметь имя backgroud_ping, и в данном случае, PID будет 1218. теперь остается подключиться к процессу screen, это делается командой: screen -r номер_PID 1 screen -r номер_PID в нашем случае это будет: screen -r 1218 1 screen -r 1218 Мы получили обратно управление над приложением. Второй способ Использовать утилиту nohup, которая запустит приложение с игнорированием сигналов потери связи (SIGHUP), что позволит продолжить выполнение приложения после выхода пользователя из системы. nohup команда & 1 nohup команда & вывод будет перенаправлен вместо консоли в файл nohup.out, который будет находиться в папке из […]

Read more

Предпродажа VDoc приложения

Канал продукта в Telegram: https://t.me/vdocapp После выхода релиза программы VDoc приложения продукт будет стоить в зависимости от количества подключений пользователей и в зависимости от количества платформ. Полная версия системы VDoc приложение с безлимитным количеством подключений на одном сервере будет стоить очень дорого. Что такое VDoc Программный продукт VDoc предназначен для коллективной работы с документами в разных форматах с сохранением истории изменений, централизованным хранением данных с возможностью удобного резервного копирования информации и разнесение её по разным накопителям и серверам. Чем VDoc приложение лучше, чем VDoc веб-приложение Стабильность работы. Приложения в отличие от веб-приложений устойчивы к сбоям в сети. Приложение “не свалится” и не “подвиснет”, в отличие от веб-приложений, процессы в которых могут не завершиться при возникновении ошибки выполнения скриптов. Нет ограничений. Браузеры накладывают ограничения на выполнение веб приложений: можно записывать файлы только в рамках каталога браузера (который расположен не удобно для пользователей), файлы нужно загружать по очереди (по одному файлу), при загрузке файлов обратно в систему VDoc, нужно пользователю выбирать файл, нельзя запускать автоматически приложения для работы с файлом, есть ограничения на размер передаваемой информации и многие другие. Все эти ограничения создают не удобство работы с VDoc веб-приложение. VDoc приложение же не имеет ограничений! С приложением пользователь не тратит время на рутинные операции – всё делает программа автоматически! Высокая скорость работы. VDoc компилируется в машинный код под каждую определенную операционную систему. Для выполнения приложений VDoc не нужны никакие программы-интерпретаторы типа Python, Java-машины, Framework Windows и т.п. VDoc выполняется сам без дополнительных “костылей”! Легкость переноса программмы. Просто скопируйте файл с одного устройства […]

Read more

НАСТРОЙКА UWSGI И NGINX ДЛЯ ОБСЛУЖИВАНИЯ ПРИЛОЖЕНИЙ PYTHON В UBUNTU 14.04

Данное руководство поможет настроить простое приложение WSGI, обслуживаемое uWSGI. Веб-сервер Nginx используется в качестве обратного прокси-сервера для более надёжного соединения. Примечание: Все компоненты установлены на сервер Ubuntu 14.04. Основные понятия и подходы Прежде чем приступить к работе, нужно разобраться с основными терминами и понятиями. Следующие три термина на первый взгляд кажутся взаимозаменяемыми, но на самом деле они совсем разные: WSGI: спецификация Python, которая определяет стандартный интерфейс для взаимодействия приложения/фреймворка с сервером приложений/веб-сервером. Её цель – упростить и стандартизировать взаимодействие этих компонентов. По сути, WSGI определяет интерфейс API, который можно использовать с другими протоколами. uWSGI: сервер приложений, который обеспечивает полноценную платформу для разработки и развертывания веб-приложений и сервисов. Этот сервер приложений может обрабатывать приложения, написанные на разных языках. Он взаимодействует с приложением согласно спецификации WSGI. Он может взаимодействовать с другими веб-серверами при помощи различных протоколов. Этот компонент трансформирует запросы стандартного веб-сервера в формат, который может обработать приложение. uwsgi: быстрый бинарный протокол, который реализуется сервером uWSGI для взаимодействия с другими полнофункциональными протоколами. Это wire протокол, а не транспортный протокол. Он лучше всего подходит для взаимодействия с веб-серверами, которые проксируют запросы для uWSGI. Требования к приложениям WSGI WSGI определяет интерфейс между веб-сервером и приложением. В данном контексте веб-сервером является uWSGI, который отвечает за передачу запросов клиента приложению в понятном формате. Это упрощает взаимодействие и создаёт слабосвязанные компоненты, которые можно легко заменить или удалить. Веб-сервер (uWSGI) должен иметь возможность отправлять запросы приложению. Callable (или точка входа)– псевдотип данных, «нечто, что можно вызвать как функцию». Ожидаемым параметром является словарь с переменными окружения и точка входа […]

Read more

Как получить информацию о системе Linux и компьютере через командную строку

При работе с операционной системой Linux может возникнуть необходимость узнать её версию и спецификации компьютера. Как обычные пользователи, так и разработчики программного обеспечения должны убедиться в совместимости приложений и аппаратных компонентов друг с другом.  Командная строка Linux обладает разнообразными встроенными командами, которые позволяют узнать о программном обеспечении и аппаратных компонентах компьютера. В этой статье мы познакомимся с такими командами.  Работа в данном случае ведётся на версии Linux Ubuntu 18.04 LTS.  Отображение базовой системной информации в Linux Shell  Чтобы получить базовую информацию о системе, нужно познакомиться с утилитой командной строки под названием uname.  Команда uname  Команда uname обладает различными переключателями. Базовая команда показывает только название ядра:  $ uname Как можно видеть, команда uname без переключателей показывает имя ядра.  Получение имени ядра Linux  Когда вы хотите увидеть название ядра системы, используйте следующую команду:  $ uname -s Получение релиза ядра Linux  Чтобы узнать релиз ядра системы, используйте следующую команду:  $ uname -r Отображение версии ядра Linux  Чтобы получить информацию о версии ядра, используйте следующую команду:  $ uname -v Получение имени хоста в сети  Чтобы показать имя хоста вашего узла, задействуйте следующую команду:  $ uname -n Для этой же цели можно использовать следующую команду:  $ uname –nodename Отображение архитектуры системы (i386, x86_64 и т.д.)  Чтобы узнать аппаратную архитектуру системы, введите следующую команду:  $ uname –m Результат x86_64 показывает, что используется 64-разрядная архитектура. Результат i686 означал бы 32-разрядную систему.  Отображение типа процессора  Чтобы узнать тип процессора, наберите следующую команду:  $ uname -p Получение аппаратной платформы  Чтобы узнать используемую аппаратную платформу, наберите следующую команду:  $ uname […]

Read more
1 2 3 4 5 36