Nella mia applicazione Web consento ai contenuti generati dagli utenti di essere pubblicati per il consumo pubblico simili a StackOverflow.Qual è il modo migliore per gestire il contenuto html generato dall'utente che verrà visualizzato dal pubblico?
Qual è la migliore pratica per consegnarlo?
mie attuali misure per la gestione dei contenuti generati dagli utenti sono:
Io uso MarkItUp per consentire agli utenti un modo semplice per formattare il codice HTML.
Dopo che un utente ha presentato appenderci cambiamenti ho eseguito attraverso un HTML Sanitizer(scorrere fino alla bottem) che utilizza una lista bianca approccio.
Se il processo di sanitizzazione ha rimosso qualsiasi contenuto creato dall'utente, I non salva il contenuto. Ho quindi restituire il contenuto modificato con un messaggio di avviso , "Alcuni tag di contenuto illegali rilevati e rimosso ricontrollare il tuo lavoro e riprovare."
Se il contenuto passa attraverso il processo di sanificazione modo pulito, risparmio il contenuto HTML grezzo al database .
Quando si esegue il rendering sul client, solo passare l'html non elaborato dal db alla pagina .
Non ho ancora consentito l'utilizzo di stili CSS come contenuto, ma desidero consentire il video a breve. Pensavo che fosse una domanda a parte. – Aaron
Lo è. Nella maggior parte dei casi, consiglierei di seguire la rotta di Facebook. Tratta i video come allegati, piuttosto li hanno come parte del contenuto. –
oh ottima Idea! – Aaron