mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 23:30:12 +01:00
Sanitize output well, but entity-ize < and > in notes
Coming from a rich message or API call, notes can contain HTML and it will render to the browser. Coming from a normal todo creation, though, all < and > characters will be replaced with the corresponding entities. This preserves HTML emails, but prevents users from breaking the layout by entering broken HTML for todo notes. Closes #765
This commit is contained in:
parent
fdba48c769
commit
68701adaca
3 changed files with 17 additions and 4 deletions
|
|
@ -202,11 +202,15 @@ module ApplicationHelper
|
|||
end
|
||||
|
||||
def format_note(note)
|
||||
note.gsub!(/</, '<') # eliminate tags
|
||||
note.gsub!(/>/, '>')
|
||||
note = markdown(note)
|
||||
note = auto_link_message(note)
|
||||
note = auto_link(note)
|
||||
|
||||
# add onenote and message protocols
|
||||
Sanitize::Config::RELAXED[:protocols]['a']['href'] << 'onenote'
|
||||
Sanitize::Config::RELAXED[:protocols]['a']['href'] << 'message'
|
||||
|
||||
note = Sanitize.clean(note, Sanitize::Config::RELAXED)
|
||||
return note
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue