Webサーバ関連

安全なウェブサイトの作り方~失敗例~

安全なウェブサイトの作り方を読んだので、理解した内容を自分なりにまとめておきます。資料 上記は3章構成になっていてそれぞれ長めの内容なので、ここでは3章の『失敗例』について、Ruby on Rails ではどうするかについてをまとめます。 SQL インジェクシ…

安全なウェブサイトの作り方~運用~

安全なウェブサイトの作り方を読んだので、理解した内容を自分なりにまとめておきます。資料 上記は3章構成になっていてそれぞれ長めの内容なので、ここでは2章の『ウェブサイトの安全性向上のための取り組み』の Web サーバの運用に関する対策や、Web サイ…

Ruby on Rails:Rails の i18n

RailsのI18nとは Ruby on Rails におけるI18n 国際化とローカライズ Active Recordモデルの翻訳を使う 式展開で渡す 参考 RailsのI18nとは I18n は internationalization の略で、国際化・多言語化を意味する。 一般に、アプリケーションの国際化では、『国…

PostgreSQL:データベースアカウントに適切な権限を与える

SQLインジェクションの対策として、根本的なものとしては、プレースホルダの方で対応するのが最善。(参考:安全なウェブサイトの作り方 - 1.1 SQLインジェクション) 今回は、保険的な対策の『データベースアカウントに適切な権限を与える』に取り組んだ。 …

SQLインジェクション攻撃とは

SQLインジェクション攻撃とは 発生しうる脅威 注意すべきページの特徴 根本的な解決方法 SQL文の組み立ては全てプレースホルダで実装する なぜ『文字列連結処理』が安全でないのか 『動的プレースホルダ』の使用時には注意が必要 SQL文のリテラルを正しく…

XSS対策:サニタイジング(エスケープ)処理

XSSの具体例 エスケープ処理は出力要素に対して行う なんでエスケープ処理は出力要素? XSSの具体例 とりあえず現状の自分のサイトに対して、悪意あるコンテンツを作成してみた。下記コードを入れると、悪意あるコンテンツが作成される。 他サイトへリダイレ…

Webを支える技術:HTTP概要

HTTPメソッド概要 8つのメソッド べき等性と安全性 ステータスコード HTTPでの認証 キャッシュ用ヘッダ 参考 HTTPメソッド概要 8つのメソッド メソッド名 役割 GET リソースの取得 POST ・子リソースの作成・リソースへのデータ追加・そのほかの処理 PUT ・…

PostgreSQLをコンテナで立てる

PostgreSQLの環境構築 Docker Engine インストール(Debian 向け) Docker Composeを入れる コンテナを立てる PostgreSQLの環境構築 ゼロからはじめるデータベース操作を進めるためにPostgreSQLの環境構築を進めた。本の中ではWindowsの説明があったけど、せ…

nginxで複数サーバを稼働する

nginxの設定ファイルにserverディレクティブを複数立ててあげる。それぞれに設定を書いてあげればよい。 server { listen 443 ssl; server_name goruchan.net; ssl_certificate ***/fullchain.pem; # managed by Certbot ssl_certificate_key ***/privkey.pe…

さくらVPSに独自ドメインを設定する

お名前.comでドメインを取得する お名前.comで取得したドメインのネームサーバを切り替える さくらのDNSに登録する 参考 全体的な作業手順のイメージは下記のような感じ。 お名前.comでドメインを取得する https://www.onamae.com/ にアクセスして、好きなド…

nginxで個人ページを公開する

Beginner’s Guideを読んでいてなんとなく感じたのは、設定ファイルにも種類があるっぽいと感じた。 nginxは、設定ファイルに記述されたディレクティブによって制御されるモジュールで構成されてる。ディレクティブは2種類に分けられる。 種類 説明 シンプル…

nginxのインストールと実行

nginxの特徴 nginxのインストール nginxの実行 nginxの特徴 静的なコンテンツを提供するWebサーバ 動的なコンテンツはnginx単体では提供せずに。Webアプリケーションサーバと連携することで動的コンテンツを提供する。Webアプリケーションサーバから取得した…

Webアプリケーションの構造

イラスト図解式 この一冊で全部わかるWeb技術の基本を読んだので、大事だなと思ったことをまとめる。 大雑把には、『Webアプリケーションの構造』を学べる。 Webアプリケーションの3層構造 Webクライアント(Webブラウザ) Webサーバ アプリケーションサー…

Cookieとセッション

ステートフルとステートレス Cookieとは セッションとは 参考 ステートフルとステートレス Cookieとセッションを理解するためには、ステートフルとステートレスを知っておくわかりやすい。 HTTPはシンプルなプロトコルで、ステートレスという特徴がある。 HT…

telnetでHTTP通信(GET,POST)をやってみる

ホスト名はどこまで? HTTPのコンテンツサイズ フィヨルドブートキャンプのプラクティスで、telnetでHTTP通信してみたよーって話。 ホスト名はどこまで? telnetを使ってHTTPメッセージを出すのは、ブラウザでポチポチして情報を取得していたのを、telnetの…