Commit Graph

21 Commits

Author SHA1 Message Date
Javi Martín
7bf4e4d611 Sanitize descriptions in the views
Sanitizing descriptions before saving a record has a few drawbacks:

1. It makes the application rely on data being safe in the database. If
somehow dangerous data enters the database, the application will be
vulnerable to XSS attacks
2. It makes the code complicated
3. It isn't backwards compatible; if we decide to disallow a certain
HTML tag in the future, we'd need to sanitize existing data.

On the other hand, sanitizing the data in the view means we don't need
to triple-check dangerous HTML has already been stripped when we see the
method `auto_link_already_sanitized_html`, since now every time we use
it we sanitize the text in the same line we call this method.

We could also sanitize the data twice, both when saving to the database
and when displaying values in the view. However, doing so wouldn't make
the application safer, since we sanitize text introduced through
textarea fields but we don't sanitize text introduced through input
fields.

Finally, we could also overwrite the `description` method so it
sanitizes the text. But we're already introducing Globalize which
overwrites that method, and overwriting it again is a bit too confusing
in my humble opinion. It can also lead to hard-to-debug behaviour.
2019-10-21 21:32:02 +02:00
Javi Martín
2aabf79fb4 Rename methods to add auto links to HTML
The name `safe_html_with_links` was confusing and could make you think
it takes care of making the HTML safe. So I've renamed it in a way that
makes it a bit more intuitive that it expects its input to be already
sanitized.

I've changed `text_with_links` as well so now the two method names
complement each other.
2019-10-08 18:46:20 +02:00
Javi Martín
cf9e36c767 Replace single quotes with double quotes
Most of these quotes were in the dashboard branch before we added the
rule for double quotes.
2019-09-10 19:21:03 +02:00
German Galia
9d1ca3bfd4 Report generation. Download csv 2019-06-12 10:17:31 +02:00
German Galia
85722eb7c4 Rename admin/debates and admin/comments to hidden 2019-06-02 19:12:26 +02:00
Julian Herrero
0bb2633c7a Use double quotes in app/views/admin 2019-03-19 12:16:50 +01:00
decabeza
57ff65692f Improves i18n texts 2018-06-08 18:29:47 +02:00
decabeza
d91388b2b3 improves layout and unifies design of admin moderated content 2017-10-13 20:57:19 +02:00
Alberto Garcia Cabeza
fb6dbdf2f9 Improves all pages for admin section 2016-06-01 13:23:57 +02:00
Alberto Garcia Cabeza
3752f3a53b Adds foundation 6 🎉 2016-02-26 19:33:33 +01:00
Alberto Garcia Cabeza
7dfdce8c07 Improves styles for admin buttons and selects 2015-09-24 12:40:16 +02:00
Juanjo Bazán
376babc768 refactors /admin listings to include descriptions 2015-09-24 11:25:01 +02:00
Juanjo Bazán
1a7806150a adds pending filter to admin/debates 2015-09-06 21:42:22 +02:00
kikito
79febe7bb8 Adds shared/filter_subnav partial to DRY filters 2015-09-02 13:39:27 +02:00
kikito
ebacc8c9c7 Uses has_filters in all controllers with filters & renames @filter to @current_filter 2015-09-02 13:21:46 +02:00
kikito
a7929c607d adds a helper to simplify the way selects and filters are rendered 2015-08-28 20:07:45 +02:00
kikito
fb9d3097cc Finishes admin interface for debates 2015-08-27 19:05:27 +02:00
Alberto Garcia Cabeza
908d19e2e7 Improves styles for admin 2015-08-23 11:45:43 +02:00
Juanjo Bazán
fda8412ed3 adds pagination to admin lists
Ref: #80
2015-08-19 16:32:40 +02:00
Alberto Garcia Cabeza
0c2901c3fb Adds styles for admin 2015-08-17 21:30:22 +02:00
rgarcia
f31ed2940d adds moderation to comments and debates [#136] 2015-08-17 13:39:31 +02:00