Объект Python @property

Для защиты от Внедрения SQL используют подготовленные операторы, если это возможно. В противном случае используйте mysql_real_escape_string для строк, (международного) кастинга или intval () для целых чисел, (плавания) или floatval () для плаваний и addcslashes ($input, '% _'), чтобы строки использовались в операторах LIKE. Вещи становятся еще более сложными при попытке выйти из строк, которые будут использоваться в операторах RLIKE.

Для фильтрации содержимого HTML, лучшим был бы strip_tags (без передающего $allowable_tags), но... Вы не можете любить/хотеть его, в этом случае наиболее доступное решение:

$escaped = htmlspecialchars($input, ENT_QUOTES, $your_charset);

А более надежное решение состояло бы в том, чтобы пользоваться библиотекой как Очиститель HTML

, функции Фильтра в порядке, но некоторые из них являются большим количеством блоков проверки допустимости, чем фильтры. В зависимости от Ваших потребностей можно найти некоторых из них полезными.

6
задан Kara 28 March 2016 в 23:19
поделиться

2 ответа

Для метода property (и, соответственно, декоратора @property ) требуется класс нового стиля , то есть класс этот подкласс объект .

Например,

class Point:

должен быть

class Point(object):

Кроме того, атрибут setter (вместе с другими) был добавлен в Python 2.6.

9
ответ дан 8 December 2019 в 18:39
поделиться

Он будет работать, если вы получите Point из объекта:

class Point(object):
    # ...
4
ответ дан 8 December 2019 в 18:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: