タグ

CORSに関するdelegateのブックマーク (13)

  • echoとginでCORS対応するときの違いについて - Qiita

    この記事は、Makuake Development Team Advent Calendar 2019 18日目の記事でございます。 この記事でやりたいこと Golangにおける主要なWebサーバーフレームワークである echo と gin において、CORS対策を行うときの注意点をまとめたい。 この記事を読む人の想定レベル 他の言語やフレームワークでCORS対策をしたことがある人 HTTPリクエストヘッダとかHTTPレスポンスヘッダと言われてピンとくるひと ginのCORS対策はうまくいったのにechoに変えたらうまくいかないとかそういう経験がある人 ちなみにこの記事を書いた人はチームメンバーがechoに乗り換えようとしたタイミングでCORS効かない、って困っていろいろ調べたことがある、みたいな背景があります。 TL; DR; echoは用意されているmiddleware (labsta

    echoとginでCORS対応するときの違いについて - Qiita
  • 【Go言語/Gin】CORS対策

    以下のようにします。 routeの設定より前でやらないと設定が反映されなくて嵌ったので注意 package server import ( "time" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" ) func Init() { r := router() r.Run() } func router() *gin.Engine { r := gin.Default() // r.Use(cors.Default()) // すべてのオリジンを許可 setCors(r) u := r.Group("/users") { ctrl := controllers.UserController{} u.GET("", ctrl.Index) u.POST("", ctrl.Create) u.GET("/:id", ctrl.S

    【Go言語/Gin】CORS対策
  • 【HTTPヘッダー】CORSの仕組みとGo+GinによるCors設定の実践 - Qiita

    はじめに localhost:80で立てたWebサーバー(nginx)から localhost:8080に立てたAPIサーバー(golang)にリクエストを送った時に、 CORSエラーが発生し、APIが叩けないところでハマったので、 学びとしてまとめます。 そもそもHTTPとは? HTTP は、 HTML 文書などのリソースを取り出すことを可能にするプロトコルです。これはウェブにおけるデータ交換の基礎をなし、クライアントサーバープロトコルであり、リクエストは受け取り者 (一般にはウェブブラウザー) が生成します。文書全体は、テキスト、レイアウトの定義、画像、動画、スクリプトなど、取り込まれたさまざまなサブ文書から再構成されます。 参考元:HTTP の概要 プロトコルの一種 ウェブにおけるデータ交換の基礎 シンプルで人間が読めるように設計されている HTTPヘッダーで、プロトコルの拡張や検証

    【HTTPヘッダー】CORSの仕組みとGo+GinによるCors設定の実践 - Qiita
  • CORSの基礎知識と解決策について

    CORS(Cross-Origin Resource Sharing)とは? CORSは、Webブラウザによって制御されるHTTPベースのセキュリティメカニズムです。クライアントが自分自身以外のオリジン(Cross-Origin)からのリソースを要求できるようにします。これは、同一オリジンポリシー(SOP {Same Origin Policy})に応答するために設計されました。 すべての一般的なWebブラウザに実装されており、2014年1月にW3C推薦として承認されました。 要約すると、クロスオリジンのリソースに対応するための技術だと捉えてください。 同一オリジンポリシーに応答するために設計されたとはどういうことでしょうか、 CORSを理解するために、同一オリジンポリシーがなぜ必要なのかを見ていきましょう。 同一オリジンポリシー(SOP) スキーム(プロトコル)、ホスト、ポートの3つの組

    CORSの基礎知識と解決策について
  • CORS: OPTIONSリクエスト(preflight request)を避ける - Qiita

    ajaxなど、ブラウザ経由でGET, POST, DELETEリクエストを投げると、実際のリクエストが走る前にOPTIONSリクエストが送信されることがあります。 一度しかリクエストを送信していなくても、実際はOPTIONSとGETなど、2回リクエストが走っています。 APIによっては、OPTIONSリクエストを受け付けないため、Response to preflight request doesn't pass access control checkのようなエラーが返ってくる場合があります。このOPTIONSリクエストはCORSプリフライト(preflight requests)と呼ばれていて、これが通らないと、実際のGET, POST, DELETEなどのリクエストは送信されません。 このプリフライト・リクエストとは何なのか、OPTIONSリクエストを回避する方法はあるのか調べてみま

    CORS: OPTIONSリクエスト(preflight request)を避ける - Qiita
  • CORSの理解を深める

    初めに AngularでWEBアプリケーションを初めて書いたときに出たCORS関連のエラーを解決方法だけ検索して解決したものの、仕組みがわからないままずっと引きずっていたので調べてまとめてみます。 CORSとは Closs Origin Resource Sharingの略 日語で表すと『クロスオリジン間リソース共有』となります。 つまり、異なるオリジン間(クロスオリジン)でリソース共有をするためのセキュリティメカニズムです。 例えば下の図のようにdomain-a.comのWEBページ内で使用する画像を domain-b.comから取得したい場合にCORSを使用します。 http://developer.mozilla.org/ja/docs/Web/HTTP/CORS Originとは あるWEBコンテンツにアクセスするために使用されるURLの プロトコル + ホスト + ポートがその

    CORSの理解を深める
  • Go言語でのCORSエラーに対する対応 - Elsaの技術日記(徒然なるままに)

    お久しぶりです!! 8月末から忙しくなってしまい、ブログの更新が出来ていませんでした。。。 やっと落ち着いたので、再開していきたいと思います!! 今回はGO言語をサーバーサイドで動作させた際に発生したCORSエラーの対応についてです。 ■CORSって? ■遭遇したエラー ■解決方法 ■最後に ■参考 ■CORSって? CORSとはCross Origin Resourse Sharingの略であり、javascritのAjax通信を行う際に、安全に情報送受するための規約とのことです。 基的にAjaxは同一オリジン(Origin)同士での通信を前提としているのですが、CORSにより異なるオリジン間での通信の安全性が保障されているようです。 ここで、オリジンって何ぞや?ですが、 ドメイン(domain)と比較するとイメージがわきやすいです。 ドメインとオリジンそれぞれ具体例はこちら。 ・ドメ

    Go言語でのCORSエラーに対する対応 - Elsaの技術日記(徒然なるままに)
  • CORSを絶対に理解する

    対象者 「CORSがなんなのかわからない」 「とりあえず調べた記事でテキトーに解決したけど、根的に何がダメだったのかがわからない」 みたいな方を対象に、CORSについて細かく解説しています。 記事を読み終えれば、CORSについて理解でき、どんな記述が必要なのかがわかるようになると思います。 また、フロントエンドしか触らない方も読んでいただけると、フロント側のエラーかと思っていたけれど実はバックエンドの方の設定が漏れていた...みたいなケースにも対応できるようになると思います。 今回サンプルコードを置いていますが、フロントはJavaScript、バックエンドはGolang(Echo)で記述しています。 まずはCORSとは何か CORSはオリジン間リソース共有という意味です。 追加のHTTPヘッダーを使用して、あるオリジンで動作しているウェブアプリケーションに、異なるオリジンに選択されたリソ

    CORSを絶対に理解する
  • ミルクボーイがCORSを説明しました

    はじめに 内海「どうもー ミルクボーイですー」 駒場「お願いしますー」 内海「あーありがとうございますぅー ねっ 今XSS攻撃をいただきましたけどもね」 駒場「こんなん なんぼあっても良いですからね」 内海「ねー あればあるだけ良いですからね ほんとにね」 駒場「いきなりですけどね うちのオカンがね 好きなセキュリティに関する用語があるらしいんやけど」 内海「あっ そーなんや」 駒場「そのセキュリティに関する用語をちょっと忘れたらしくてね」 内海「好きなセキュリティに関する用語忘れてもうて どないなってんねんそれ」 駒場「でまあ色々聞くんやけどな 全然わからへんねんな」 内海「分からへんの? ほな俺がね オカンの好きなセキュリティに関する用語 ちょっと一緒に考えてあげるから」 内海「どんな特徴ゆうてたかってのを教えてみてよー」 CORSとは 駒場「あのー Webブラウザ上で異なるオリジン間

    ミルクボーイがCORSを説明しました
  • 【Golang】ginでcorsを設定する | ISSUE

  • SPA の CSRF 対策や CORS について検証する - 30歳からのプログラミング

    2021/4/23 追記 Twitter にて指摘を頂いたので追記。 詳細は当該ツイートを読んで頂きたいが、プリフライトリクエストを CSRF 対策として用いるのは適切ではないという内容。 この記事に書いた仕組みや挙動そのものが間違っているわけではないのだが、プリフライトリクエストはそもそもセキュリティのための機能ではない。 そして、詳しくは記事の続きを読んでほしいが、プリフライトリクエストが発生するということは、HTTP メッセージのやり取りが 1 回増えるということなので、パフォーマンス上、望ましくない。 代替案がないならともかく、リクエストのオリジンをチェックすれば対応できるのだから、敢えてプリフライトリクエストを利用する必要はない。素朴に書けば以下のようになるだろうか。 const ALLOW_ORIGIN = `http://localhost:${constants.SPA_P

    SPA の CSRF 対策や CORS について検証する - 30歳からのプログラミング
  • なんとなく CORS がわかる...はもう終わりにする。 - Qiita

    Access to XMLHttpRequest at 'http://localhost:8081' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is ther

    なんとなく CORS がわかる...はもう終わりにする。 - Qiita
  • 今さら聞けないSPAのCORS対策の話

    東京Node学園2017にて発表しました。

    今さら聞けないSPAのCORS対策の話
  • 1