я нашел GUMP класс для ввода данных очистки и проверки, и он работает так:
# Note that filters and validators are separate rule sets and method calls. There is a good reason for this.
require "gump.class.php";
$gump = new GUMP();
$_POST = $gump->sanitize($_POST); // You don't have to sanitize, but it's safest to do so.
$gump->validation_rules(array(
'title' => 'required',
'story' => 'required'
));
$gump->filter_rules(array(
'title' => 'trim|sanitize_string',
'story' => 'trim|sanitize_string',
));
$validated_data = $gump->run($_POST);
if($validated_data === false) {
echo $gump->get_readable_errors(true);
} else {
print_r($validated_data); // validation successful
}
В действии это работает хорошо и дезинфицирует все входные данные. за story
поле необходимо добавить HTML-теги, такие как <p><img><table>
но этот класс дезинфицирует все $_POST
и удаляет все теги HTML.
Я не могу узнать, как добавить белый список (<p><img><table>
) для санации ?! Как я могу добавить белый список для тегов HTML?
быстрый взгляд на класс показывает, что вы не можете этого сделать.
Другое решение будет использовать встроенную функцию strip_tags()
.
Других решений пока нет …