What to use for sanitize?

Hi, i’m allowing users to upload html stuff, what can i use to
sanitize it? h() it’s not good as it escape everything, and i’ve found
that the rails sanitize() is too strict, it sanitize also css style
attributes, so users cannot personalize their html… i’d like
something which permit to include code like youtubbbe embedded, css
styles (only inline, not by external link), which strip stuff like
html, head and keep just the body, and all the script tags or btw
everything which could cause xss and other problems… what do you

Good luck with that - it’s not (in general) possible to do this. Even
if you kill off all the scripting, with some CSS knowledge, a
malicious user could make a fake login page and phish people.

Little things like IE6 and 7’s support of javascript in CSS attributes
could also cause trouble…

–Matt J.

You can customize Rail’s builtin sanitation by setting
config.action_view.sanitized_allowed_tags and such in your

config.action_view.sanitized_allowed_tags %w[ list of additional html
tags to allow ]

You can do the similar with
sanitized_allowed_css_properties, and sanitized_allowed_css_keywords.
However, this is 1) fairly inflexible, as it affects the operation of
all sanitize() calls, and 2) sanitize uses Ruby Tokenizer, which is
slow. You might be better off looking into the Hpricot based Sanitize
gem (http://wonko.com/post/sanitize); however I myself haven’t yet
used it, and it looks like its only geared toward HTML so I don’t know
if it’s able to sanitize css attributes.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs