タグ

HTTPに関するrsakamotのブックマーク (7)

  • http(通信プロトコル)とは?httpの仕組みと、通信内容(リクエストヘッダとレスポンスヘッダ)の確認手順まとめ

    エンジニア転職情報サイト > その他(IT関連) > http(通信プロトコル)とは?httpの仕組みと、通信内容(リクエストヘッダとレスポンスヘッダ)の確認手順まとめ 公開日:2014-02-06 更新日:2022-10-16 httpとは、代表的な通信プロトコルの一つで、インターネット上でWebサーバー(サイトの公開側)と、クライアント(ブラウザ:サイトを閲覧する側)が、相互に通信するために使用される仕組みです。 もっと言うと、Webサーバーとクライアント間で、HTML(Webページを作成するための言語)で記載された情報をやりとりするための仕組みです。 この「http」がないと、インターネット上のサイトを見ることができなくなるので、今や無くてはならない仕組みとなります。 今回の記事では、この「http」の仕組みと、「http」を利用したWebサーバーとクライアント間での通信内容(リク

    http(通信プロトコル)とは?httpの仕組みと、通信内容(リクエストヘッダとレスポンスヘッダ)の確認手順まとめ
  • 【HTTPヘッダインジェクション】の仕組みと対策のまとめ記事

    Webサイトの管理者であれば、自分(自社)のサイトの脆弱性を取り除いておく事が必要になります。 特に、代表的なハッキング手法である「クロスサイトスクリプティング(XSS)」や「SQLインジェクション」対策をしておくことは必須でしょう。 また、今回紹介する「HTTPヘッダインジェクション」も、有名なハッキング手法になりますので、ぜひ対策をしておいてください。 今回の記事では、この「HTTPヘッダインジェクション」の仕組みや、対策について順に解説していきます。 以下、目次になります。 「HTTPヘッダインジェクション」の仕組み 「HTTPヘッダインジェクション」の対策 「HTTPヘッダインジェクション」の仕組み HTTPヘッダインジェクションを理解するためには、まずHTTPの仕組みや、HTTPを利用した通信手順を理解していなければなりません。こちらは、下記で解説しています。 http(通信プロ

    【HTTPヘッダインジェクション】の仕組みと対策のまとめ記事
  • PHPにおけるHostヘッダインジェクション攻撃が可能な脆弱性 — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    Googleで「Hostヘッダインジェクション」を検索しても「HTTPヘッダインジェクション」しか出てこないので、この記事を書くことにしました。 ちなみに、「Hostヘッダインジェクション」自体はPHPに固有というわけではなく、あらゆる環境で起こり得ます。 Hostヘッダインジェクションとは? HTTPリクエストの「Hostヘッダ」の値を攻撃者が操作する攻撃です。 例えば、以下のようなコードがあった場合、$_SERVER['HTTP_HOST']の値を操作できれば、リンク先を自由に変更できます。 <a href="http://<?php echo $_SERVER['HTTP_HOST']; ?>/?token=secret"> 例えば、PHPビルトインWebサーバの場合ですが、telnetしてアクセスしてみましょう。 $ telnet localhost 8000 Trying 127

  • WindowsのIISで単一IPアドレスのサーバーに複数のWebサイトを設置・運用する(ホストヘッダー編)

    解説 新たにWebサイトを立ち上げたいが、コストなどの事情からWebサーバ・マシンは増やしたくないとき、既存のWebサーバ・マシンにそのWebサイトを追加することになるだろう。つまり単一のサーバ・マシンで複数のWebサイトを運用するということだ。この場合、どのように各Webサイトへのアクセス要求を正しく割り振るかが課題となる。 単純なのは、Webサイトごとに異なるIPアドレスを割り当て、DNSサーバでも各Webサイトのドメイン名を各IPアドレスに名前解決させることで、各Webサイトへのアクセス要求を各IPアドレスに割り振ることだ。しかし、コストなどの事情からサーバ・マシンにIPアドレスを追加できないことも多い。 Webサイトごとに異なるポート番号を割り当てるという方法もある。しかし、デフォルトの80番以外のポートを割り当てたWebサイトの場合、クライアント側では「http://www.ex

    WindowsのIISで単一IPアドレスのサーバーに複数のWebサイトを設置・運用する(ホストヘッダー編)
  • HTTP 1.1のHost:ヘッダーの保持

    HTTP 1.1リクエストには、多くの場合Host:ヘッダーが組み込まれており、クライアント・リクエストのホスト名が含まれます。これは、サーバーが単一のIPアドレスまたはインタフェースを使用して、複数のDNSホスト名に対するリクエストを受け入れることがあるためです。 Host:ヘッダーによって、クライアントがリクエストするサーバーが識別されます。リバース・プロキシがクライアントとターゲット・サーバーの間のHTTP 1.1リクエストをプロキシする際には、リクエスト時にHost:ヘッダーをアウトバウンド・リクエストに追加する必要があります。ターゲット・サーバーに送信されるHost:ヘッダーは、クライアントから受け取ったHost:ヘッダーと同じである必要があります。ターゲット・サーバーに直接アクセスする際のHost:ヘッダーであってはなりません。 アプリケーション・サーバーで、絶対パスの完全修飾

  • curl コマンドでホスト名が必要なURLにアクセスする - SaintSouth.NET

    はじめに 開発環境などからファイルをダウンロードするとき、hosts ファイルにホスト名を記述して・・・というのが手っ取り早い方法ではありますが、ダウンロード自体は今回のみで hosts ファイルを編集する手間が…、という場合があります。 また、開発環境とローカルの間に proxy サーバーがあって、これを経由しないといけない環境では、ローカルの hosts を変更しても、proxy サーバーで解釈できずに失敗する場合もあります。 こんなときは、URL としては IP アドレスを直接指定して、HTTP の Host ヘッダーでホスト名を指定することで、hosts を編集する必要も、proxy 越えに悩む必要もなくなります。 curl コマンドのヘッダー指定 HTTP の Host ヘッダーを指定する (shortest) $ curl -LO http://192.0.2.1/file.t

    curl コマンドでホスト名が必要なURLにアクセスする - SaintSouth.NET
  • RESTful Web Services より良いWebインタフェースの構築と分散型システム連携:第2回:REST導入における勘所 ~誤った導入をしないために~ | 豆蔵ソフト工学ラボ

    RESTful Web Services より良いWebインタフェースの構築と分散型システム連携 第2回:REST導入における勘所 ~誤った導入をしないために~ 印刷 株式会社豆蔵 BS事業部 コンサルタント 五味 和人  2009/12/03 [アーキテクチャ] 前回の記事では、REST の原理原則についてお話させて頂きましたが、ざっと RESTの概要をご理解頂けましたでしょうか。続編となる記事では、もう少し踏み込んだ形で、REST アーキテクチャの種類と、導入における勘所をお話させて頂きます。 1. RESTfulとREST-RPC、そしてハイブリッド 一般的にRESTスタイルのアーキテクチャには以下の3つがあります。 外観的にも内観的にも、アーキテクチャがRESTの思想に準拠しているものを指します。 どこまで完全準拠するかといった点では、アーキテクトの主観が介入するところではありま

  • 1