タグ

ブックマーク / matope.hatenablog.com (3)

  • gorilla/csrf で安全なWebフォームを作る - 小野マトペの納豆ペペロンチーノ日記

    こんにちは。GoでWeb開発していますか?私はしていません。Goに限らず、既成のWebアプリケーションフレームワークを使わずに自前でWebフォームを作る場合、なにも考えずに書くと CSRF (Cross Site Request Forgery) 脆弱性を作りこみ、不正なユーザー操作を実行されてしまう可能性があります。 ダメな例 例えば以下のGoコードで作成されるフォームにはCSRF脆弱性があります。SubmitSignupForm ハンドラは、受け取ったリクエストが自分のサイト上のフォームからサブミットされたものかチェックしていないので、攻撃者が他のサイト上のフォームを使い、第三者のユーザーのブラウザで任意の操作を実行させることができてしまいます。 func main() { r := mux.NewRouter() r.HandleFunc("/signup", ShowSignupF

    gorilla/csrf で安全なWebフォームを作る - 小野マトペの納豆ペペロンチーノ日記
  • Go Concurrency Patterns: Context[翻訳] - 小野マトペの納豆ペペロンチーノ日記

    7月29日付けのgolang.orgブログエントリーで context というパッケージが紹介されました。 Go Concurrency Patterns: Context - The Go Blog 参考: Go言語のcontextパッケージについてのやりとり - ワザノバ | wazanova 今現在、業務でGo言語を使ったWebサービスを書いているのですが、contextはリクエストのキャンセルとタイムアウトとリクエストスコープの変数を扱う、Google社内で利用が標準化されているパッケージだという事なので、エントリーを翻訳しました。 以下和訳。 Introduction Goサーバーでは、入ってくる各リクエストは専用のgoroutineで処理されます。リクエストハンドラは、データベースやRPCサーバーにアクセスするためにしばしば追加のゴルーチンを開始します。リクエスト上のゴルーチン

    Go Concurrency Patterns: Context[翻訳] - 小野マトペの納豆ペペロンチーノ日記
    ariteku
    ariteku 2016/08/18
  • GoとgRPCでKVS的なものを作ってみた - 小野マトペの納豆ペペロンチーノ日記

    正月で時間があったので、以前から触ってみたかったgRPCGo言語から使い、キー・バリュー・ストアのようなものを作ってみた。 KVSといっても、GomapへのGet/Put/Delete/ScanをgRPC経由で叩けるようにしただけのもの。それだけだとあまり面白く無いので、gRPCらしく、Watch機能をつけてmapへの更新を監視できるようにした。 github.com 個人的には、HTTP/1.1 + JSON APIと比べた時のgRPC(HTTP/2 + ProtoBuf)のメリットや違いが気になっていたので、そのあたりを気をつけながら書いた。 開発の手順 サービス定義 まずはProtocol Buffers 3でKVSのサービスを定義する。サンプルを見ながら適当に書いた。 grpc-kvs/grpc-kvs.proto at master · matope/grpc-kvs · G

    GoとgRPCでKVS的なものを作ってみた - 小野マトペの納豆ペペロンチーノ日記
    ariteku
    ariteku 2016/07/27
  • 1