RU EN

Структурное тестирование

 

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

Расчёт минимального количеств тестов прост:

1. Начните с 1 для последовательного выполнения программы.

2. Прибавьте 1 для каждого из ключевых слов if, while, do, for, and (&&), or (||).

3. Прибавьте 1 для каждого блока case. Если присутствует блок, используемый по-умолчанию, прибавьте ещё 1.

Комментариев: 0
08.08.2013 07:37


Основные типы уязвимостей web-приложений

 

1. SQL-инъекции. Лучшее средство защиты от них экранированные параметризованные запросы.

2. XSS (Cross Site Scripting). Для защиты использовать htmlspecialchars().

3. CSRF (Cross Site Request Forgery). Для защиты все ответы форм проверять на HTTP_REFERRER, чтобы быть увернным, что запрос пришёл из безопасного места.

4. File Inclusion. Для защиты всегда проверять, чтобы пользовательский ввод не попадал в require(), require_once() , include(), include_once().

5. File Upload. Если бизнес-задача требует загрузки пользовательских файлов, нужно убедиться, что пользователь не контролирует расширения файлов и флаг "исполняемый". Это позволит быть уверенным, что атакующий не загрузит вредоносные файлы на сервер и не выполнит код на сервере.

Комментариев: 0
06.08.2013 22:21


Конвертация vhd в vdi

 

Чтобы сконвертировать vhd (Microsoft Virtual PC) файл в vdi (VirtualBox) формат, можно воспользоваться командой:

VBoxManage clonehd source.vhd target.vdi --format vdi

С помощью VBoxManage можно и обратная конвертация (vdi в vhd):

VBoxManage clonehd source.vdi target.vhd --format vhd
Комментариев: 0
29.06.2013 21:26


Некорректная кодировка данных в таблице

 

Случается, что данные в mysql таблице хранятся в кодировке отличной от кодировки таблицы. Такое могло произойти, например, при заливке данных без указания кодировки источника. Исправить подобную ситуацию можно следующим образом:

CREATE TABLE `tmp`
  (SELECT * FROM `broken_table`);

-- возвращаем столбцы в их "родную" кодировку
ALTER TABLE `tmp`
  MODIFY `wrong_data` CHAR(30),
CHARACTER SET latin1;

-- конвертируем данные в бинарные
ALTER TABLE `tmp`
  MODIFY `wrong_data` BLOB;

-- возвращаем правильную кодировку
ALTER TABLE `tmp`
  MODIFY `wrong_data` CHAR(30),
CHARACTER SET utf8;

Далее исправленные данные переносим из временной таблицы в таблицу-исходник.

Комментариев: 0
12.06.2013 10:53


Fix: Failed to play sound: File or data not found

 

Баг был замечен в Debian 7.0 Wheezy. Открываем файлы :

/usr/share/gnome/shutdown/libcanberra-logout-sound.sh
/usr/share/gnome/autostart/libcanberra-login-sound.desktop

Меняем id звуковых событий:
--id="desktop-login" на --id="login"
--id="desktop-logout" на --id="logout"

Комментариев: 0
09.06.2013 15:13