Вход и работа самой системы
⇐ ПредыдущаяСтр 2 из 2 index.php - основная страница (страница авторизации пользователя в системе) (авторизация происходит путем проверки дважды хэшированного в md5 пароля, пароль в БД хранится в виде md5(md5(password)); Отметим, что для самой первоначальной регистрации, в нашей системе предусмотрена страница index2.php, конечно нужно изменить имя страницы на index.php зарегистрироваться как администратор, а потом работать дальше. После нажатия кнопки «Войти» запускается страница check.php Окно, которое открывается при каком- то из уровней: 1. Права для пользователя администратор: Данный пользователь, имеет преимущество в том, что у него имеется возможность работы с базой данных пользователей, такие как «Добавить нового пользователя в систему»: и «Просмотр текущих пользователей», который дополнительно позволяет удалять пользователя из системы:
2. Права для пользователя бухгалтер:
Поле «добавить нового сотрудника в базу данных» связывает в работе несколько таблиц базы testable:
Визуально занесение данных выглядит таким окном:
Для внесения данных и дальнейшей действий над сотрудником, нам помогает скрипт new_employee.php Для безопасности сохранения данных используем шифрование/дешифрование ФИО, в базе phpmyadmin данные представляются следующим образом: Шифрование позволяет не видеть данных системному администратору. а значит в случае кражи БД злоумышленник врядле сможет догадаться каким методом были зашифрованы данные, а значит и их расшифровать. Функция используемы при шифровании: function getEncrypt($text){ if(empty($text)) return exit('Вы не ввели текст'); //Специальный ключ для совершения операции $key = "other"; //Кодируем и удаляем все ненужные символы $text = nl2br(htmlspecialchars(strip_tags(trim($text)))); //Шифруем строку $string = mcrypt_ecb(MCRYPT_DES,$key,$text,MCRYPT_ENCRYPT); return $string; } Функция, используемая для дешифрования: function getDecrypt($text){ if(empty($text)) return exit('Вы не ввели текст'); //Специальный ключ для совершения операции $key = "other"; //Кодируем и удаляем все ненужные символы $text = nl2br(htmlspecialchars(strip_tags(trim($text)))); //Расшифровываем строку $string = mcrypt_ecb(MCRYPT_DES,$key,$text,MCRYPT_DECRYPT); return $string; } Функция mcrypt_ecb() — собственно с помощью этой функции мы и шифруем текст, она принимает 4 параметра: 1. Алгоритм шифрования DES 2. Ключ с помощью которого зашифрована строка, он понадобится для рашифровки. 3. Текст который следует зашифровать(расшифровать) 4. Собственно константа указывающая функции что сделать с текстом ENCRYPT — Зашифровать — DECRYPT расшифровать. DES (Data Encryption Standard) – симметричный алгоритм шифрования. Данный алгоритм был разработан в корпорации IBM в 1977 году. Он утвержден правительством США в качестве стандарта FIPS 46-3.
Алгоритм шифрования DES использует ключ длиной 56 бит, при этом блоки состоят из 64 бит каждый и используется сеть Фейстеля, состоящая из шестнадцати циклов. При шифровании данных алгоритмом DES используются как линейные, так и нелинейные преобразования. Алгоритм DES является блочным шифром. При осуществлении шифрования данных входные данные – это блок размером а бит. При шифровании используется с-битный ключ. После осуществления шифрования получается опять же а-битный блок уже зашифрованной информации. Даже небольшие изменения во входных данных приводят к большим изменениям в результате шифрования. При использовании DES все данные вначале преобразуются в бинарный вид, затем разбиваются на блоки, и только потом осуществляется их шифрование. Шифрование алгоритмом DES может быть реализовано как определенными программными, так и аппаратными продуктами. Помимо блочного шифрования данных, в алгоритме DES также используется векторный сдвиг и перестановка с использованием все того же ключа шифрования, который, как Вы помните, состоит из 56 бит. Все это осуществляется с использованием функции Фейстеля. Так как рассматриваемый нами алгоритм является симметричным, то все действия по расшифровке данных представляют из сея обратные шифрованию. Алгоритм DES чаще всего используется в четырех различных режимах: Режим электронной кодовой книги – когда исходные данные просто разбиваются на блоки, при этом каждый отдельный блок шифруется отдельно, без какого-либо взаимодействия с другими блоками. Режим сцепления блоков – когда каждый следующий блок перед зашифровкой сцепляется со следующим блоком открытого текста. При этом использовании наиболее слабым звеном является начальный вектор сдвига, он должен храниться в секрете. Режим обратной связи – при использовании данного режима создается последовательность блоков шифруемых данных. Начальный же вектор служит для того, чтобы разные блоки шифровались по-своему, но использовали при этом один и тот же ключ. Режим обратной связи по выходу – как и в предыдущем пункте, создается блочная последовательность данных, но алгоритм использования векторов сдвига и ключа шифрования немного другой.
Вследствие использования всего лишь 56-битного ключа шифрования алгоритм DES может быть взломан путем тотального перебора на любой современной вычислительной системе за вполне реальные сроки – несколько дней. По моему мнению данный вид шифрования хоть и является устаревшим и его алгоритм легко взломать, мне кажется подходит для небольшой фирмы и вполне может использоваться постоянно. Один существенный минус, замеченный мною, это было то что не се слова и данные данный алгоритм может зашифровать, возможно, потому, что это были русские слова, и с английскими выйдет достаточно неплохо, но для большого текста информации такая функция не подойдет. Но для именно шифрования ФИО такая функция приемлема. Кнопка «Сосчитать», необходима нам для расчета НДФЛ, при нажатии на кнопку запускается скрипт calculator3.php,который выводит данные в конце страницы, полученную цифру необходимо занести в ячейку НДФЛ, чтоб она смогла так же сохраниться в таблице данных. Для подсчёта НДФЛ необходимо выбрать данные по сотруднику, а именно тип его семейного положения и приблизительно величину з/п для подсчёта, так же можно узнать сумму з/п, если это составляет трудность, а потом уже рассчитать ндфл. Кнопка «Очистить поля», помогает, если что то пошло не так при заведении данных. Распишем значение кнопки «Данные по детям», она позволяет заносить данные по ребенку для конкретного сотрудника, при переходе на страничку запускает скрипт childs.php, которые отображает окно: Заносимые данные сохраняются в таблице t_child:
Данные по ребёнку сохраняются в соответствии с ключом сотрудника (столбик pk_employee), поэтому при переходе на ссылку «Данные по детям» можно не только заносить ребёнка сотрудника, но просто сосчитать их кол-во. Скрипт childs.php:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|