Input Class CodeIgniter Ръководство за потребителя
Класът Input прави две неща:
- Предварителна обработка на глобални входни данни за целите на сигурността;
- Предоставя някои помощни функции за получаване на входни данни и предварителна обработка.
Забележка: Този клас се инициализира от системата автоматично, така че няма нужда да го правите ръчно.
Филтриране на сигурността
Функцията за филтриране на защитата се извиква автоматично, когато се зареди нов контролер. Тя прави следното:
- Ако $ config ['allow_get_array'] е FALSE (по подразбиране TRUE), унищожава глобалния GET масив.
- Премахва всички глобални променливи, ако register_globals е активиран.
- Филтрира масиви GET/POST/COOKIE, позволяващи само буквено-цифрови (и някои други) знаци.
- Осигурява XSS филтриране (Cross-site Scripting Hacks). Тази опция може да бъде активирана глобално или само за една заявка.
- Стандартизира завършванията на редове до \ n (за Windows \ r \ n)
XSS филтриране
Класът Input има способността автоматично да филтрира данните от входа, за да предотврати XSS атаки. Ако искате филтърът да се изпълнява автоматично при всяка заявка, отворете файла application/config/config.php и задайте следното:
Моля, вижте документацията за класа на защита за повече информация относно използването на XSS филтриране във вашето приложение.
Използване на данни POST, COOKIE и SERVER
CodeIgniter има три помощни функции, които ви позволяват да получавате POST, COOKIE и SERVER данни. Основното предимство на използването на функции вместо директно получаване на данни ($ _POST ['параметър']) е, че функциите проверяват съществуването си и съответно връщат FALSE или данни. Това ви позволява да използвате по-удобно данните, без ръчна проверка за тяхното съществуване. С други думи, обикновено можете да направите това:
if (! isset ($ _ POST ['something']))
$ нещо = FALSE;
>
друго
$ something = $ _POST ['нещо'];
>
С вградените функции на CodeIgniter можете просто да направите това:
Тези три функции:
$ this-> input-> post ()
Първият параметър съдържа името на елемента POST, който искате да получите:
Функцията връща FALSE, ако посоченият елемент не съществува.
Вторият незадължителен параметър ви позволява да предавате данните през XSS филтъра. Тази опция се активира чрез задаване на втория параметър на булева стойност TRUE.
За да получите масив от всички POST елементи, извикайте тази функция без параметри.
За да получите всички POST елементи и да ги предадете през XSS филтъра, задайте първия параметър на NULL, а втория параметър на TRUE.
Тази функция ще върне булева FALSE, ако масивът POST е празен.
$ this-> input-> post (NULL, TRUE); // връща всички POST елементи, като ги предава през XSS филтър