| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Watcher 24.10.2019 02:39
допустим передали в форму поля login = ivan$a[$form:login] <- будут в dirty-цвете по-умолчанию
$b[^taint[url][http://site]] <- будет в url-цвете
$c[hello] <- будет в as-is цвете по-умолчанию
$d[$a$b$c] <- будет из строк разных цветов
# $d -> [ivanhttp://sitehello]
^ ^ ^
dirty url as-is
$d[^untaint{$d}] <- untaint без указания типа,
по-умолчанию красит все dirty-цвета в as-is
# $d -> [ivanhttp://sitehello]
^ ^ ^
as-is url as-is
$d[^taint[$d]] <- taint во-первых красит всю строк принудительно,
(а не выборочно dirty-куски, как untaint)
плюс у taint по-умолчанию без явного указания типа
выставлено красить в dirty
# $d -> [ivanhttp://sitehello]
^ ^ ^
d i r t y
P.S.: С одной стороны поведение по-умолчанию (без указания цвета) у taint и untaint как противоположно:
- taint типа принудительно все красит в dirty, или в выбранный цвет, или в as-is (чистый).
- untaint только dirty-куски по умолчанию превращает в as-is
а на деле семантика получается такая себе... иначе бы не было бы "жалоб на таинтизмы".
фактически, когда-то на форуме был предложен более лаконичный синтаксис:
^taint[what][to][string]
what - что красим? всю строку принудительно или выбранный цвет: all, dirty(tainted), as-is, url...
to - в какой цвет красим? dirty(tainted), as-is, url...
string - собственно строка
такой синтаксис не только полностью заменяет все вариации taint и untaint, но и расширяет возможности,
т.к. сейчас нельзя перекрасить только какой-то выборочный цвет внутри строки, кроме dirty-цвета.