1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

<%= csrf_meta_tags %> ←案外すごい

Posted at

<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag ... %>
<%= javascript_importmap_tags %>  これなに???

  1. <%= csrf_meta_tags %>
    このタグは、CSRF(クロスサイトリクエストフォージェリ) 攻撃からアプリケーションを守るために使用されます。Railsは、フォーム送信やAJAXリクエストが正規のユーザーからのものかどうかを確認するために、セッションごとに一意のCSRFトークンを生成します。

役割: このメタタグは、CSRFトークンをページのメタデータに埋め込み、リクエスト時にトークンが正しいことを確認できるようにします。
利用方法: 通常は設定のままで、Railsが自動的にフォームやAJAXリクエストにトークンを含めてくれるため、開発者側で追加の操作は不要です。
2. <%= csp_meta_tag %>
このタグは、**CSP(コンテンツセキュリティポリシー)**を設定するために使用されます。CSPは、Webページで読み込むコンテンツの種類やソースを制限することで、XSS(クロスサイトスクリプティング)攻撃からアプリケーションを守ります。

役割: csp_meta_tagにより、Railsが生成するCSPヘッダーに従ってページのJavaScriptやCSS、画像の読み込み元を制限します。
利用方法: 開発者はconfig/content_security_policy.rbでCSPの設定を行うことができ、セキュリティポリシーに基づいて、外部のスクリプトやスタイルシートなどの読み込みを制御します。
3. <%= stylesheet_link_tag ... %>
このタグは、アプリケーションのスタイルシート(CSSファイル)をHTMLにリンクするために使用されます。

役割: このタグは、指定されたスタイルシートをHTMLに読み込み、アプリケーション全体のデザインやレイアウトを整える役割を持っています。
利用方法: デフォルトでは、stylesheet_link_tag "application", "data-turbo-track": "reload" のように記述して、app/assets/stylesheets/application.cssを読み込みます。他のスタイルシートを追加する場合も、ここにリンクを指定できます。
4. <%= javascript_importmap_tags %>
このタグは、JavaScriptモジュールのインポートをサポートし、Importmapを使ってJavaScriptファイルをHTMLにリンクするために使用されます。Rails 7では、JavaScriptの読み込みにWebpackやNodeを必ずしも必要とせず、ImportmapによりJavaScriptモジュールを簡単に管理できます。

役割: Importmapを利用してJavaScriptモジュールの読み込みを行い、依存関係をアプリケーションに追加します。
利用方法: config/importmap.rbでJavaScriptモジュールを設定し、ページで利用したいモジュールを指定して読み込みます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?