Для защиты от Внедрения SQL используют подготовленные операторы, если это возможно. В противном случае используйте mysql_real_escape_string для строк, (международного) кастинга или intval () для целых чисел, (плавания) или floatval () для плаваний и addcslashes ($input, '% _'), чтобы строки использовались в операторах LIKE. Вещи становятся еще более сложными при попытке выйти из строк, которые будут использоваться в операторах RLIKE.
Для фильтрации содержимого HTML, лучшим был бы strip_tags (без передающего $allowable_tags), но... Вы не можете любить/хотеть его, в этом случае наиболее доступное решение:
$escaped = htmlspecialchars($input, ENT_QUOTES, $your_charset);
А более надежное решение состояло бы в том, чтобы пользоваться библиотекой как Очиститель HTML
, функции Фильтра в порядке, но некоторые из них являются большим количеством блоков проверки допустимости, чем фильтры. В зависимости от Ваших потребностей можно найти некоторых из них полезными.
Для метода property
(и, соответственно, декоратора @property
) требуется класс нового стиля , то есть класс этот подкласс объект
.
Например,
class Point:
должен быть
class Point(object):
Кроме того, атрибут setter
(вместе с другими) был добавлен в Python 2.6.
Он будет работать, если вы получите Point из объекта:
class Point(object):
# ...