strip_tags
не предназначен в качестве меры безопасности, и использование его с allowable_tags
определенно небезопасно, так как пропускает обработчик событий и другие вредные атрибуты.
Если вы хотите разрешить ввод данных пользователем с помощью нескольких элементов и атрибутов из белого списка, вам нужно использовать библиотеку для очистки HTML с подходящим парсером HTML. См. Например HTML-очиститель .
Обычно для комментариев пользователей лучше вообще не предоставлять пользователю контроль над разметкой HTML, а вместо этого принимать необработанный текст, экранировать его при выводе HTML и делать замены для создания разметки из текста (например: \n
-> <br>
, \n\n
-> </p><p>
, обнаружение канала).