witam
czego używacie do czyszczenia danych pochodzących od użytkowanika. Wolałbym coś co usunie mi zbędne czy niebezpieczne tagi przed zapisem do bazy. Używał ktoś może http://github.com/rgrove/sanitize ?
Tak i jest skuteczny.
dzięki. szybki też ?
sproboj sam to sprawdzic Benchmar’kiem http://www.ensta.fr/~diam/ruby/online/ruby-doc-stdlib/libdoc/benchmark/rdoc/index.html
Generalnie nokogiri standardowo uzywa rozszerzenia w c które jest szybkie, ale pytanie jest trochę bez sensu, czyszczenie z htmla to jest ułamek promila czasu przetwarzania requesty, chyba że czyścisz kilkumegowy dokument, wtedy może to zająć jakieś pół sekundy …
gem spoko działa, wrzuciłem do before_validation w modelu. Wie ktoś może jak ustawić żeby nie zamieniał znaków nowej linii na & #13; (odstęp żeby forum wyświetliło)? Ponieważ później gdy wracam do edycji danego pola wyświetla się ono właśnie w takiej postaci.
jest coś na pewno na kształt whitelist
google wie np:
Sanitize.clean(html, :elements => ['a', 'span'],
:attributes => {'a' => ['href', 'title'], 'span' => ['class']},
:protocols => {'a' => {'href' => ['http', 'https', 'mailto']}})
Akceptowalna wydajność.
Trochę profilowałem ten gem i prawdopodobnie dałoby się jakoś zoptymalizować samo Sanitize, natomiast w kwestii Nokogiri wiele nie da się już zrobić.