проблемы безопасности в системе регистрации входа с использованием PHP JavaScript MySQL - PullRequest
0 голосов
/ 15 декабря 2009

Я создаю веб-приложение с нуля с функциями регистрации и входа в систему. Я полностью новичок, когда дело доходит до проблем безопасности и атакует, как инъекция MySQL. Помимо шифрования пароля в базе данных, о каких других проблемах безопасности я должен беспокоиться? И как мне заботиться о них? Спасибо

Ответы [ 4 ]

2 голосов
/ 15 декабря 2009

Вы должны убедиться, что все переменные в вашем SQL очищены, если вы не используете что-то вроде PDO, это проще всего сделать с mysql_real_escape_string

Например, когда вы проверяете учетные данные пользователя, ваш код будет выглядеть примерно так:

$sql = "SELECT `id` FROM `users` WHERE `username` = '".mysql_real_escape_string($_POST['username'])."' AND `password` = '".mysql_real_escape_string($_POST['password'])."'";
$dosql = mysql_query($sql); // etc

Также стоит добавить следующее в вашу процедуру входа, чтобы предотвратить фиксацию сеанса .

session_regenerate_id(true);
1 голос
/ 16 декабря 2009

Поиск "проблемы безопасности входа в систему", есть много хороших статей. Это замечательно: самые распространенные ошибки безопасности . Просмотрите каждый ответ, который имеет голос, и убедитесь, что вы знаете, что это значит, и что вы не делаете эту ошибку Короче говоря, чтобы быть в безопасности, вы должны предполагать, что каждый фрагмент данных от пользователя может быть вредоносным.

1 голос
/ 15 декабря 2009

Вам также нужно беспокоиться о атаках межсайтового скриптинга. (Часто сокращается до XSS) По сути, это означает, что если ваше приложение когда-либо создает данные, представленные пользователем, в части HTML последующей страницы, его необходимо очистить. Например, если ваше приложение было доской объявлений, злонамеренный пользователь мог бы разместить пост со встроенным HTML, который бы загружал удаленный JavaScript без ведома пользователя.

Простой способ защититься от этого - закодировать любые данные, которые являются частью HTML вашего веб-приложения, с помощью функции, которая кодирует символы HTML в коды объектов. В PHP вы можете использовать htmlspecialchars () .

Тем не менее, на самом деле вы должны рассмотреть намного больше. OWASP (Open Security Application Project Project) - отраслевая группа, которая действительно создает стандарты в этой области. Они публикуют список OWASP Top Ten , список 10 самых распространенных уязвимостей безопасности. Вы увидите все упомянутое в этих ответах, перечисленных там.

1 голос
/ 15 декабря 2009

Одна вещь, на которую вам действительно нужно обратить внимание, это Подделка межсайтовых запросов (CSRF или XSRF). Самый простой способ предотвратить это - отправлять токен с каждым запросом (даже отправка копии файла cookie для входа будет работать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...