Sanitize translations instead of using _html
Using the `_html` suffix in an i18n key is the same as using `html_safe` on it, which means that translation could potentially be used for XSS attacks.
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
<% if params[:filter].present? && params[:advanced_filters].present? %>
|
||||
<p class="inline-block"><%= t("#{i18n_namespace}.filters.two_filters_html",
|
||||
<p class="inline-block"><%= sanitize(t("#{i18n_namespace}.filters.two_filters",
|
||||
filter: t("#{i18n_namespace}.filters.#{params[:filter]}"),
|
||||
advanced_filters: budget_investments_advanced_filters(params[:advanced_filters])) %></p>
|
||||
advanced_filters: budget_investments_advanced_filters(params[:advanced_filters]))) %></p>
|
||||
|
||||
<% elsif params[:filter].present? %>
|
||||
|
||||
<p class="inline-block"><%= t("#{i18n_namespace}.filters.one_filter_html",
|
||||
filter: t("#{i18n_namespace}.filters.#{params[:filter]}")) %></p>
|
||||
<p class="inline-block"><%= sanitize(t("#{i18n_namespace}.filters.one_filter",
|
||||
filter: t("#{i18n_namespace}.filters.#{params[:filter]}"))) %></p>
|
||||
|
||||
<% elsif params[:advanced_filters].present? %>
|
||||
|
||||
<p class="inline-block"><%= t("#{i18n_namespace}.filters.one_filter_html",
|
||||
filter: budget_investments_advanced_filters(params[:advanced_filters])) %></p>
|
||||
<p class="inline-block"><%= sanitize(t("#{i18n_namespace}.filters.one_filter",
|
||||
filter: budget_investments_advanced_filters(params[:advanced_filters]))) %></p>
|
||||
|
||||
<% end %>
|
||||
|
||||
Reference in New Issue
Block a user