ПредишенСледващото

Започнете с малко отстъпление.

И все пак правилно да кажа, както и способността да се направят някои форуми (особено UNIX-ovyh) директно крещи - RTFM! Който не разбира ochem въпрос - RTFM означава "чете шибаните записите!". Това е всичко, аз съм всъщност тук на това, което: изучаване и нещо се опитва да напише върху рамката, Yii, проблемът стана на входа филтриране от различните "злонамерени" характер (ала на XSS атака да) и първото нещо, което идва на ум - е да се напише филтър (който аз все още го), но creocoder. Офлайн Yii. sprpavedlivo напълно забелязах, че не защо изобретяваме колелото, всичко вече е готово, просто трябва да RTFM! Беше около CHtmlPurifier клас, който е обвивка за библиотеката на HTML Purifier. и изпълнява всички функции, които са необходими за мен (въпреки, че не съм го poprobyval в действие, може и със сигурност нищо). Но след като започнах да пиша филтъра - Реших да продължава да завърша това нещо и просто да напишете статия за филтрите в Yii.

Филтри - фрагменти от код, които могат да бъдат изпълнени преди и \ или след завеждането на контролера. Филтър, ако е необходимо, може да попречи на изпълнението на заявеното действие.

Филтрите могат да бъдат и двата метода на текущата контролер и отделни класове - това позволява тяхната повторна употреба. Ако филтърът се прилага като метод на класа, тя трябва да се предхожда с «филтър».

Филтър изпълнена като отделен клас трябва да бъде клас наследник CFilter.

За активиране на филтъра, е необходимо да се замени метода на контролер на филтрите, които трябва да се върнат набор от филтри към контролера (или неговите индивидуални игри действие).

В този пример, "accessControl '- филтър контролер изпълнява като метод и" application.filters.XssFilter' - филтър изпълнен като отделен клас, която се съхранява в директорията / защитени / филтрите /. "Чисто" - задайте филтър имота.

Това е кратка информация за филтри в Yii, повече подробности можете да прочетете тук.

Сега веднага да пристъпи към изпълнение на филтъра. данни почистване функция, която върши цялата работа - Извадих рамка Kohana. Ами това е достатъчно думи, дайте кода филтър себе си - тя е много проста, така че мисля, че не трябва да е проблем.

Тествах доста този филтър - на пръв поглед - тя работи!

Искам да добавя своите коментари с прилагането на филтри в Yii ...

Смятам, че е полезно да има метод, който се нарича преди извършване префилтър и постфилтър, като първоначален () - който инициализира на филтъра, така че трябва да бъде на разположение параметри peredavemye във филтъра от контролера (поради тази причина не е възможно да се използва __construct). Разбира се, че може да удължи CFilter за тези цели, но "роден" в състояние да направи това ще бъде най-добрият вариант.

Надяваме се, описан материалът ще бъде от полза!

Ние ще решите проблема си!

Свързани статии

Подкрепете проекта - споделете линка, благодаря!