
- •Содержание
- •1.Теоретическая часть Встроенные и специальные методы защиты данных
- •1.2 Методы защиты данных встроенными средствами субд
- •1.3 Полезные команды php для повышения защиты данных
- •1.4 Методы защиты сервера
- •2.Практическая часть
- •Админская часть включает в себя:
- •Пользовательская часть включает в себя:
- •Список использованных литературы и источников
1.3 Полезные команды php для повышения защиты данных
Безопасность является одним из наиболее важных аспектов программирования. В PHP есть некоторые полезные функции, которые являются очень эффективными для защиты web-сайта от таких атак, как SQL- Injection Attack , attack и т.п. Давайте рассмотрим несколько полезных функций в PHP и необходимых для повышения защиты нашего проекта:
1) mysql_real_escape_string() – эта функция очень полезна для предотвращения SQL Injection Attack в PHP. Она добавляет обратные слеши (backslashes) к специфичным символам как кавычки, двойные кавычки, обратные слеши для того чтобы убедиться, что данные, введенные пользователем, проверены на безопасность, до того, как была исполнена запрошенная команда. Но, для того чтобы использовать данную функцию, мы должны убедиться, что имеем подключение к базе данных.
2) addslashes() – данная функция работает так же, как mysql_real_escape_string(). Но мы должны убедиться, что не используем эту функцию, когда "magic_quotes_gpc” находится во включенном состоянии “on” в php.ini. Когда "magic_quotes_gpc” включен в php.ini, кавычка (’) и двойные кавычки (”) приводят к простановке обратных слешей в переменные GET, POST и COOKIE. Мы можем проверить использование этой функции "get_magic_quotes_gpc()” – функция доступна в PHP.
3) htmlentities() – данная функция очень полезна для проверки данных, вводимых пользователем. Эта функция конвертирует специальные символы в соответствующие html-коды. Таким образом, когда пользователь вводит символы, например, “<” они конвертируются в html < , что является хорошей защитой от XSS and SQL-injection атак.
4) strip_tags() – эта функция удаляет все HTML, JavaScript и php-тэги из строк. Но, мы можем сделать так, чтобы определенные теги могли быть задействованы пользователем, используя второй параметр данной функции. Например,
echo strip_tags(”<script>alert(’test’);</script>”);
будет отображаться
alert(’test’);
5) md5() – некоторые разрабатывают запасной пароль доступа к базе данных, что не есть хорошо для системы безопасности. Данная функция генерирует md5-хэш (hash) из 32 символов временной последовательности. Случайно сгенерированные данные из md5() необратимы, то есть не могут быть преобразованы в изначальную последовательность.
6) sha1() – эта функция схожа с md5, но она использует другой алгоритм и генерирует 40-символьный хэш последовательности по сравнению с 32 в md5().
7) intval() – мы можем использовать данную функцию для защиты php-кода. Итак, большинство значений, применяемые в GET- method в URL прописаны, как id в базе данных, и, если мы уверены, что применяемые значения должны быть целыми числами, можно использовать данную функцию для защиты кода.
$sql=”SELECT * FROM product WHERE id=”.intval($_GET['id']);
Таким образом, если значения являются целыми числами, используя intval(), мы повышаем безопасность сайта.