Skip to content

Commit 5da5d1b

Browse files
committed
Add nonce to css/js tags
Ensure css/js tags comply with the CSP nonce (if one is defined).
1 parent 1b2a8ba commit 5da5d1b

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

app/views/layouts/rails_admin/_head.html.erb

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,23 @@
44
<meta content="NONE,NOARCHIVE" name="robots">
55
<meta content="false" name="turbo-prefetch">
66
<%= csrf_meta_tag %>
7+
<%= csp_meta_tag %>
78
<% case RailsAdmin::config.asset_source
89
when :webpacker %>
9-
<%= stylesheet_pack_tag "rails_admin", data: {'turbo-track': 'reload'} %>
10-
<%= javascript_pack_tag "rails_admin", defer: true, data: {'turbo-track': 'reload'} %>
10+
<%= stylesheet_pack_tag "rails_admin", data: {'turbo-track': 'reload'}, nonce: true %>
11+
<%= javascript_pack_tag "rails_admin", defer: true, data: {'turbo-track': 'reload'}, nonce: true %>
1112
<% when :sprockets %>
1213
<% handle_asset_dependency_error do %>
13-
<%= stylesheet_link_tag "rails_admin/application.css", media: :all, data: {'turbo-track': 'reload'} %>
14-
<%= javascript_include_tag "rails_admin/application.js", defer: true, data: {'turbo-track': 'reload'} %>
14+
<%= stylesheet_link_tag "rails_admin/application.css", media: :all, data: {'turbo-track': 'reload'}, nonce: true %>
15+
<%= javascript_include_tag "rails_admin/application.js", defer: true, data: {'turbo-track': 'reload'}, nonce: true %>
1516
<% end %>
1617
<% when :vite %>
17-
<%= vite_javascript_tag "rails_admin", defer: true, data: {'turbo-track': 'reload'} %>
18+
<%= vite_javascript_tag "rails_admin", defer: true, data: {'turbo-track': 'reload'}, nonce: true %>
1819
<% when :webpack %>
19-
<%= stylesheet_link_tag "rails_admin.css", media: :all, data: {'turbo-track': 'reload'} %>
20-
<%= javascript_include_tag "rails_admin.js", defer: true, data: {'turbo-track': 'reload'} %>
20+
<%= stylesheet_link_tag "rails_admin.css", media: :all, data: {'turbo-track': 'reload'}, nonce: true %>
21+
<%= javascript_include_tag "rails_admin.js", defer: true, data: {'turbo-track': 'reload'}, nonce: true %>
2122
<% when :importmap %>
22-
<%= stylesheet_link_tag "rails_admin.css", media: :all, data: {'turbo-track': 'reload'} %>
23+
<%= stylesheet_link_tag "rails_admin.css", media: :all, data: {'turbo-track': 'reload'}, nonce: true %>
2324
<%= javascript_inline_importmap_tag(RailsAdmin::Engine.importmap.to_json(resolver: self)) %>
2425
<%= javascript_importmap_module_preload_tags(RailsAdmin::Engine.importmap) %>
2526
<%= javascript_importmap_shim_nonce_configuration_tag if respond_to? :javascript_importmap_shim_nonce_configuration_tag %>

app/views/rails_admin/main/index.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
<% end %>
4545
<% end %>
4646

47-
<style>
47+
<style nonce="<%= content_security_policy_nonce %>">
4848
<% properties.select{ |p| p.column_width.present? }.each do |property| %>
4949
<%= "#list th.#{property.css_class} { width: #{property.column_width}px; min-width: #{property.column_width}px; }" %>
5050
<%= "#list td.#{property.css_class} { max-width: #{property.column_width}px;}" %>

0 commit comments

Comments
 (0)