mam kolejny problem z codeigniterem, tym razem wiąże się to z ckeditorem. Mianowicie ckeditor usuwa mi style, czyli jak wspiszę: <div style="font-size: 14px"> - to po zapisaniu mam sam div. "Wyguglowałem" że rozwiązaniem jest:
$config['global_xss_filtering'] = FALSE;
Jednak jest to zabezpieczenie przed XSS, tu więc moje pytanie, jak bardzo moja (kiedyś) aplikacja straci na bezpieczeństwie, gdy to wyłączę?
Druga sprawa, znalazłem również kod żeby obejść grzebanie w configu:
protected function _remove_evil_attributes($str, $is_image){ // All javascript event handlers (e.g. onload, onclick, onmouseover), style, and xmlns $allowed = array("adresy dla których style ma nie być usuwany bez domeny na przykład '/admin/edittext/'"); }else{ } if ($is_image === TRUE){ /* * Adobe Photoshop puts XML metadata into JFIF images, * including namespacing, so we have to allow this for images. */ } do { "#<(/?[^><]+?)([^A-Za-z\-])(".implode('|', $evil_attributes).")(\s*=\s*)([\"][^>]*?[\"]|[\'][^>]*?[\']|[^>]*?)([\s><])([><]*)#i", "<$1$6", $str, -1, $count ); } while ($count); return $str; }
Niestety, w miejscu w którym znalazłem kod nie ma opisanego sposobu- przykładu jego wykorzystania, a próba kontaktu z autorem niestety się nie powiodła. Plik umieściłem w katalogu core w pliku MY_Security.php.
Nie ma tam przykładu użycia, a za bardzo nie wiem co wpisać jako $str i $is_image żeby to działało. Jako $str mam wpisać elementy jak np. div, span? a jako drugi parametr? Proszę o napisanie przykładu wykorzystania tego kodu osoby lepiej rozumiejące go.