Очистка данных из форм в PHP

Для предотвращения XSS, SQL-инъекций и других атак, данные полученные из форм нужно чистить. Простое экранирования кавычек не достаточно, нужен комплексный подход по типу данных.

Для таких целей был написан статический класс clean.php

Использование класса

<form method="post" action="">
	<label>Имя</label>
	<input name="name" type="text">
	
	<label>Телефон</label>
	<input name="phone" type="text">
	
	<label>Комментарий</label>
	<textarea name="text"></textarea>

	<label>Оценка</label>
	<input name="rating" type="ragio" value="1"> 1
	<input name="rating" type="ragio" value="2"> 2
	<input name="rating" type="ragio" value="3"> 3
	<input name="rating" type="ragio" value="4"> 4
	<input name="rating" type="ragio" value="5"> 5

	<label>
		<input name="consent" type="checkbox">
		Я даю согласие на обработку моих персональных данных
	</label>
	
	<input type="submit" name="send" value="Отправить">
</form>
HTML

Обработчик формы:

require_once '/classes/clean.php';

if (isset($_POST['submit'])) {
	$name    = Clean::str($_POST['name']);
	$phone   = Clean::str($_POST['phone']);
	$text    = Clean::text($_POST['text']);
	$rating  = Clean::int($_POST['rating']);
	$consent = Clean::bool($_POST['consent']);
}
PHP

Далее описание функций с примерами:

16.08.2019, обновлено 26.09.2019 211

Поделится

Другие публикации

С помощью расширения dompdf можно легко сформировать PDF файл. По сути, dompdf - это конвертер HTML в PDF который...
16.02.2018 9694
Smarty это компилирующий обработчик шаблонов для PHP позволяющий отделить логику и HTML-верстку веб-приложения.
12.07.2018 2332
В статье приведен пример формы и php-скрипта для безопасной загрузки файлов на сервер, возможные ошибки и рекомендации...
25.11.2017 11804
В статье представлены все самые встречающеюся мета-теги с примерами и пояснениями их использования.
17.01.2018 2657
Можно найти множество применений Яндекс Диска на своем сайте, например, хранение бекапов и отчетов, обновление прайсов,...
29.11.2017 10067
Сборник jQuery приемов с textarea - получить содержимое, вставить значение, подсчет количества символов и строк и т.д.
04.03.2018 9312