Найти дыры

347
.
В общих словах, прочел сегодня массу статей о пхп дырках, нашел немного полезного, но так и не нашел конкретного ответа, как убрать дыры. Понял, что ломают сайты через функцию гет, пост, хсс. Защищает от взлома какой-то фильтр. И я вот что-то всю информацию не могу уложить в своей голове. Дайте кто-нибудь вразумительный ответ..
.
Ей 25
Прямые руки = нет дыр)
.
# ValekS (06.05.2014 / 16:51)
Прямые руки = нет дыр)
Да нафиг мне эти комменты? Я ищу способоб избавления от них.
.
# _Казимир_ (06.05.2014 / 15:58)
В общих словах, прочел сегодня массу статей о пхп дырках, нашел немного полезного, но так и не нашел конкретного ответа, как убрать дыры. Понял, что ломают сайты через функцию гет, пост, хсс. Защищает
Гет и Пост - это не функции, а массивы(если говорить точнее - суперглобальные массивы, встроенные в PHP).
Оба эти массива служат только для одной цели - принимать данные от пользователей, и передавать их в тот или
иной скрипт. Разница между ними в том, что Пост принимает данные из всяческих полей на страничке(т.е.,данные,
переданные браузером на сервер в <body>теле</body> HTML-документа), а Гет принимает данные из адресной
строки браузера(т.е., данные, переданные браузером на сервер в <head>заголовке</head> HTML-документа).
Все данные, принимаемые от пользователя, необходимо в обязательном порядке проверять на корректность введённых
данных(т.е., обрабатывать той или иной функцией,проще говоря-фильтровать). Чаще всего Пост-запросы "фильтруются"
двумя функциями, записанными вложенным способом: htmlspecialchars() и trim(). Синтаксис таков:
$msg = trim(htmlspecialchars($_POST['msg']));

Функция htmlspecialchars() преобразует специальные символы в их HTML сущности, например:
'&' (амперсанд) преобразуется в '&amp;', '"' (двойная кавычка) преобразуется в '&quot;',
'<' (знак "меньше чем") преобразуется в '&lt;' и т.д. Функция trim() удаляет пробелы из начала и конца строки.
Гет-запросы "фильтруются", например, функцией intval(). Синтаксис таков:
$page=intval($_GET['page']);

или
$page=(int)$_GET['page'];

Функция intval() получает целочисленное значение, например:
echo intval(42); //вернёт 42
echo intval(4.2);     //вернёт 4
echo intval('42');    //преобразует строковое значение в целочисленное 42

Более вразумительные ответы ищи в мануалах и поисковике.
.
# _Казимир_ (06.05.2014 / 16:52)
Да нафиг мне эти комменты? Я ищу способоб избавления от них.
Модешь дальше искать
Как найдешь, расскажешь
.
для чисел используй intval , для ввода вывода инфы htmlspecialchars , регулярки юзай , в гугле найдешь , а как залатать существующие в пректе это уже сложно , каждый файл проверять , или как вариант использовать find-xss
.
_Казимир_
# ДоХтор (06.05.2014 / 20:38)
Гет и Пост - это не функции, а массивы(если говорить точнее - суперглобальные массивы, встроенные в PHP).
Оба эти массива служат только для одной цели - принимать данные от пользователей, и передават
Спасибо тебе, от тебя я только смог услышать вразумительный ответ. Но... Почему некоторые кодеры не фильтруют гет и пост? Там же вроде пару символов добавить.
.
_Казимир_
# Eurogon (06.05.2014 / 22:19)
для чисел используй intval , для ввода вывода инфы htmlspecialchars , регулярки юзай , в гугле найдешь , а как залатать существующие в пректе это уже сложно , каждый файл проверять , или как вариант и
Спасибо за помощь. Я хочу сам каждый файл проверять.
.
# _Казимир_ (07.05.2014 / 05:22)
Почему некоторые кодеры не фильтруют гет и пост?
Это у них надо спрашивать.
.
UA95, хороший кодер должен знать
Всего: 10