Перейти к содержанию

Защита Ваших веб-проектов


BearKing

Рекомендуемые сообщения

xct

Если хочешь обезопасить себя от передачи "хакерских" параметров, то инициализируй переменные в начале скрипта. Что бы не передал хакер, переменные все равно будут обнуляться в начале скрипта.

Разве дело не обойдётся отключения register_globals?

Ссылка на комментарий
Поделиться на другие сайты

Я вот так подумал. Известны многие способы,чтобы обычному юзеру найти в базе данных закодированный пароль.

 

Так вот.

Почему бы при регистрации не делать несколько уровней кодировки пароля, например:

 

 

<?
//начало скрипта
$password=md5($password);
$password=md5($password);
//продолжение
?>

Ссылка на комментарий
Поделиться на другие сайты

зачем?

просто делаем

$password=md5($password."1");

 

 

по теме

данные в формах методом $_POST

также куки привязываются к IP

ну и политика - всем все запретить, а потом нужное разрешать

Ссылка на комментарий
Поделиться на другие сайты

ExER

Известны многие способы,чтобы обычному юзеру найти в базе данных закодированный пароль.

даже если это так — что это даст? годы перебора?

Ссылка на комментарий
Поделиться на другие сайты

Интересную статью нашел на http://forum.newgalaxy.ru/index.php?act=ST...;f=23&t=619

Нашим гуру это скорее всего давно известно, но для интересующихся — мой «конспект»:

 

Никогда не верь данным, присылаемым тебе пользователем.

Допустим, в гостевухе у нас 3 поля ввода: имя, e-mail и сам текст. Сначала делаем

<input type=text name=username maxlength=20>

Потом проверяем, откуда пришли те данные:

<?
$referer=getenv("HTTP_REFERER");
if (!ereg("^http://www.myserver.com")) {
echo "hacker? he-he...\n";
exit;
}
?>

Правда, это не дает 100% гарантии, но автор утверждает, что 80% хацкеров на этом успокаиваются и на телнет не заморачиваются.

Дальше —

$username=substr($username,0,20);

if (empty($username)) {
echo "invalid username";
exit;
}

if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$username)) {
echo "invalid username";
exit;
}

это было для имени; для мыла —

if (preg_match("/[^(\w)|(\@)|(\.)]/",$usermail)) {
echo "invalid mail";
exit;
}

Для текста — nl2br() и htmlspecialchars()

Здесь же автор говорит: «никогда не следует разрешать пользователям использование тегов, подразумевающих подключение внешних ресурсов - от тривиального img до супернавороченного bgsound. Да, разрешить вставку html-тегов в чатах, форумах и гостевых книгах - это красиво, но игра не стоит свеч - вряд ли пользователи пойдут к Вам на книгу или в чат, зная, что их IP может стать известным первому встречному хакеру. Да и не только IP - возможности javascript'a я перечислять не буду :-)»

Дальше там описывается, как сделать безопасное модерирование, но это уже кому надо, может посмотреть по ссылке :)

(опубликовано почти 2,5 года назад)

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...