[DDD] Expressing Domain Knowledge Through Models Using Golang

Introduction This is a repost of the article from zenn. This is the 6th day article for Go Advent Calendar 2021. Since there are incredibly understandable books by Eric Evans sensei and predecessors about DDD, I recommend reading these. (laugh) Domain-Driven Design Modeling/Implementation Guide Domain-Driven Design Sample Code & FAQ Introduction to Domain-Driven Design: Understanding from Bottom-Up! Basics of Domain-Driven Design So here, without detailed explanation of DDD, I’ll explain how to incorporate domain knowledge into software using models with Golang, with a simple concrete example. ...

2021/12/05 · joj0hq

[Introduction] Understanding the Redux State Management System

Conclusion First This is a repost of the article from zenn. To understand Redux, if you can understand this diagram (source: Redux Application Data Flow), you’re 90% there. From user input, (ActionCreator) creates an Action Dispatch (send) the Action to Store (where state is managed) Pass the dispatched Action to Reducer (where state is changed) Store saves the new State created by Reducer Reference data from Store and render in View (screen) If there are any corrections like “This is wrong!” or “This mechanism is also used!”, please give me feedback! (That’s partly why I’m writing this!) ...

2021/03/21 · joj0hq

Session Management Vulnerabilities

URL-embedded Session ID Overview Sessions can be embedded in URIs. PHP, Java, ASP.NET and others support this. http://example.jp/mail/123?SESSIONID=XXXXXXX Issues: Session IDs leak externally via the Referer header (What is the Referer header) The Referer header allows servers to identify where people are visiting from, and can be used for analysis, logging, and cache optimization. Countermeasures: Prohibit URL-embedded sessions themselves Attack Methods and Impact Attack flow: Start page (transitions to another page) ...

2019/07/16 · joj0hq

セッション管理の不備

URL 埋め込みのセッション ID 概要 セッションが URI に埋め込まれることがある。 PHP,Java,ASP.NET などはサポートしている。 http://example.jp/mail/123?SESSIONID=XXXXXXX 課題点: Referer ヘッダを経由して、セッション ID が外部に漏洩する(Referer ヘッダとは) Referer ヘッダーにより、サーバーは人々がどこから訪問しに来たかを識別し、分析、ログ、キャッシュの最適化などに利用することができます。 対策: URL 埋め込みセッションそのものを禁止する 攻撃手法と影響 攻撃の流れ: スタートページ(別ページに遷移) 外部リンクが貼られたページ(パラメータに SESSIONID が付与されている) 外部のページ(referer ヘッダから SESSIONID を取得) 1.URL 埋め込みセッションを使えるするように設定ファイルを変更 2.外部サイトへのリンクがある or リンクを攻撃者が作成できる(メール、掲示板、ブログ、SNS でやられる) 影響: セッションハイジャックを同じ 脆弱性が生まれる原因 2000 年前後の「クッキー有害論」が生じたため -> アクセス履歴を追跡できるのってプライバシーの観点からどうよ?って問題に ドコモのガラケーのブラウザは過去にクッキー対応していなくその影響 —>今はクッキーに保存するほうが安全とされている? 対策 セッション ID をクッキーにのみ保存してねとすれば OK セッション ID の固定化 概要 セッションハイジャックを起こす攻撃の中に、セッション ID を外部から強制するセッション ID の**固定化攻撃(Session Fixiation Attack)**がある。 攻撃の流れ: セッション ID を入手 ターゲットに奪ったセッション ID でのアクセスを強制 ターゲットが標的のアプリにログイン 攻撃者は強制したセッション ID を使ってターゲットのアプリにログイン ...

2019/07/16 · joj0hq

[AWS Introduction] Automate VPC+EC2 Construction with Terraform

Simple Infrastructure Design We’ll Create This Time When constructing infrastructure on AWS, clicking through the console from the browser every time often resulted in missing or incorrect settings in security groups and route tables, which was troublesome. Therefore, this time we’ll use a tool called Terraform that builds the infrastructure environment just by writing and executing code, automating the construction. First, let’s look at the completed diagram. Like this, we’ll create the simplest design possible with just EC2 on VPC. ...

2019/07/15 · joj0hq