Sto aggiornando la sicurezza di un sito esistente (quindi non posso rifare tutto con un framework con funzioni xss integrate), quindi sto cercando un modo per proteggermi dagli attacchi XSS come quelli elenco di OWASP qui .
Al momento utilizzo htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
per l'output in HTML, json_encode
per JS e HTMLPurifier per i dati contenenti tag HTML, ma temo che questo non sia sufficiente / corretto. Sto cercando una funzione che posso usare come:
<div><?php echo escape_for_html($text); ?></div>
<img src="<?php echo escape_for_attribute($text); ?>">
Dopo alcune ricerche sembra che soluzioni come xss_clean, ESAPI e PHPSEC non siano più mantenute o non raccomandate. Come posso proteggermi da xss quando echo negli attributi dei tag (compresi gli URL), JavaScript e CSS?