# _Казимир_ (06.05.2014 / 15:58)
В общих словах, прочел сегодня массу статей о пхп дырках, нашел немного полезного, но так и не нашел конкретного ответа, как убрать дыры. Понял, что ломают сайты через функцию гет, пост, хсс. Защищает
Гет и Пост - это не функции, а массивы(если говорить точнее - суперглобальные массивы, встроенные в PHP).
Оба эти массива служат только для одной цели - принимать данные от пользователей, и передавать их в тот или
иной скрипт. Разница между ними в том, что Пост принимает данные из всяческих полей на страничке(т.е.,данные,
переданные браузером на сервер в <body>теле</body> HTML-документа), а Гет принимает данные из адресной
строки браузера(т.е., данные, переданные браузером на сервер в <head>заголовке</head> HTML-документа).
Все данные, принимаемые от пользователя, необходимо в обязательном порядке проверять на корректность введённых
данных(т.е., обрабатывать той или иной функцией,проще говоря-фильтровать). Чаще всего Пост-запросы "фильтруются"
двумя функциями, записанными вложенным способом: htmlspecialchars() и trim(). Синтаксис таков:
$msg = trim(htmlspecialchars($_POST['msg']));
Функция htmlspecialchars() преобразует специальные символы в их HTML сущности, например:
'&' (амперсанд) преобразуется в '&', '"' (двойная кавычка) преобразуется в '"',
'<' (знак "меньше чем") преобразуется в '<' и т.д. Функция trim() удаляет пробелы из начала и конца строки.
Гет-запросы "фильтруются", например, функцией intval(). Синтаксис таков:
$page=intval($_GET['page']);
или
$page=(int)$_GET['page'];
Функция intval() получает целочисленное значение, например:
echo intval(42); //вернёт 42
echo intval(4.2); //вернёт 4
echo intval('42'); //преобразует строковое значение в целочисленное 42
Более вразумительные ответы ищи в мануалах и поисковике.