I have some input containing HTML
like <br> <b> <i>
etc. I need a way to escape only the "bad" HTML
that exposes my site to XSS etc.
After hours of Googeling I found the GWT which looks kinda promising.
What is the recommended way to escape bad HTML
?
Edit:
Let me clear things up.
I am using a javascript text editor which outputs html. Wouldn't it be much easier if i use something like bbcode?
Google caja is a tool for making third party HTML, CSS and JavaScript safe to embed in your website.
OWASP AntiSamy is a project for just that. If you need users to be able to submit structured text, look at markdown (imho a lot better than BBCode).
Playframework 2 already offers a solution.
the @Html()
function filters bad html, which is really nice.
I really love play2
You might want to just escape all html. If you want to have users be able to use basic html tags like <b>
or <i>
then you could just replace them with [b] and [i] (if your forum/whatever you're creating can use bbcode), then just replace all "<"
and ">"
with "<"
and ">"
.