htmlspecialchars помогает поймать базовые XSS, но без CSP всё равно можно получить неприятности, если что-то проскочит. CSP — это как сетка безопасности, дополняет защиту, особенно когда где-то затычка может не сработать. Клиентская фильтрация — не панацея, серверную проверку менять нельзя. В итоге лучше вместе использовать, тогда надежнее.