Dodatkowe informacje techniczne: Pracuję dla szkoły i budujemy nową stronę internetową przy użyciu Django. Nauczyciele, którzy pracują dla szkoły, nie są wystarczająco kompetentni pod względem technologicznym, aby używać innego języka MarkUp, takiego jak MarkDown. Ostatecznie zdecydowaliśmy, że powinniśmy użyć edytora WYSIWYG, który stwarza luki w zabezpieczeniach. Nie martwimy się zbytnio o samych nauczycieli, ale o bardziej złośliwych uczniów, którzy mogą uzyskać referencje nauczyciela.Jak zapobiegać atakom XSS, gdy trzeba renderować HTML z edytora WYSIWYG?
Informacje techniczne: Używamy Django 1.3 i nie wybrałem jeszcze konkretnego edytora. Skłaniamy się ku takiemu javascriptowi jak TINYMCE, ale można go przekonać do użycia wszystkiego, co pozwala na bezpieczeństwo i łatwość użycia. Ponieważ edytor WYSIWYG będzie wyświetlał HTML w celu renderowania do dokumentu, nie możemy po prostu tego uniknąć.
Jaki jest najlepszy sposób na zapobieganie złośliwemu kodowi, a jednocześnie ułatwia nauczycielom nietechnicznym pisanie postów?
[komentarz boczny: ckEditor ma kilka ładnie wyglądających integracji django, w tym wysyłanie obrazów i przeglądanie pakietów. dobry alt do TinyMCE. Nie jestem pewien, czy to pomaga w XSS!] – Spacedman