W moim konfiguracji codeigniter mam $config['global_xss_filtering'] = TRUE;
. W mojej sekcji administracyjnej mam cedenta, który generuje zawartość frontendu.Codeigniter global_xss_filtering
Wszystko, co jest wpisane i umieszczone w edytorze działa dobrze, obrazy są wyświetlane ładnie, działa HTML. Wszystkie oprócz flash. Ilekroć przełączam się w tryb HTML i wklejam kawałek kodu youtube, jest on chroniony i kod jest widoczny na stronie głównej, zamiast pokazywać film youtube.
Jeśli ustawię $config['global_xss_filtering'] = FALSE;
, kod youtube zostanie przekazany tak, jak powinien. Dzieje się tak dlatego, że "obiekt", "osadzanie" itd. Są oznaczone jako "niegrzeczne" przez CI i w ten sposób uniknięte.
Jak mogę pominąć filtrowanie xss dla tej metody kontrolera?
Dajesz atakującemu łatwą drogę do osadzenia XSS. Wszystko, co musi zrobić, to zakodować kod HTML atakiem. Obejmie wszystkie filtry XSS, a następnie zostanie przekonwertowany z powrotem do ataku html_entity_decode. –
Jak inaczej powinienem zezwolić ludziom na używanie HTML w obszarze tekstowym? Uruchomiłem to przez HTMLPurifier, czy to nie wystarczy? – zechdc
To także usuwa atrybuty stylu śródliniowego, jeśli używam dowolnego –