上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
- --/--/--(--) --:--:--|
- スポンサー広告
-
-
■
hostsファイルとはhostsファイルとは、Windowsのシステムファイルの一つで、そのPC内でサイト名などをIPに変換するためのものであり、ローカルネットワーク上のパソコンでDNSサーバーを使用せずに名前解決を行うためのファイルのことである。
LAN内にWEBサーバーを立て、DNSサーバー構築していない時は、WEBサーバーの名前ではアクセスできずに、ルーターのアドレスへ転送されたりします。そこでDNSサーバーを立ち上げるよりは簡単に設定できる、HOSTSファイルの編集を行うことでアクセスできるようになるのです。
■
hostsファイルの役割hostsファイルとは、自分のPC内でホスト名をIPアドレスに変換する際に参照するファイルです。と言ってもちんぷんかんぷんな人も多いと思いますので軽く解説しますと、例えば「google.co.jp」など解りやすい形で書いたホスト名を、「216.239.33.100」などの実際の名前(IPアドレス)に変換する時に参照するファイルです。
Google(日本)のURLは、通常http://www.google.co.jpですが、そのIPアドレスは「216.239.33.100」になります。このことは、http://216.239.33.100と入力するとGoogleのページが表示されることで確認できます。この変換、すなわち「www.google.co.jp」→「216.239.33.100」という対応が書いてあるのがhostsファイルです。
と解りやすいと思われる例で解説してみましたが、実はこの例はちょっと実際とは違います。この場合の変換はPC内のhostsファイルでで行われる訳ではなく、DNSサーバーという外部の共通サーバーにある参照ファイルによって行われます。
- 2009/10/19(月) 20:31:41|
- 未分類
-
| トラックバック:0
-
| コメント:0
先日の記事、【
プロキシとは】において出てきた言葉である「Cookie」について解説する。
■
Cookie(クッキー)とはCookieとは、Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみである。
Cookieにはユーザに関する情報や最後にサイトを訪れた日時、そのサイトの訪問回数などを記録しておくことができる。Cookieはユーザの識別に使われ、認証システムや、WWWによるサービスをユーザごとにカスタマイズするパーソナライズシステムの要素技術として利用される。
Cookieの最も代表的な用途は、ショッピングサイトにおけるカートやログイン状態の管理である。また、IPアドレスによらないクライアントの識別を可能にするため、Webサイト運営者やインターネット広告配信業者などがユーザの詳細なアクセス履歴を取得する用途にも使われる。
Cookieは毎回送られるものであり、またHTTPヘッダの一部なのでASCII文字列になっている必要がある。そのためCookieでデータを直接扱うよりも、セッションIDを実装する手段として使うことが多い。この場合、実際のデータは、セッションIDをキーとしてサーバが保持することになる。
■
セキュリティーの問題Cookieでセッション管理を行う場合、もし第三者がセッションIDを知ることができれば、そのIDを名乗ることで本来のユーザになりすますことができる。このような「なりすまし」行為をセッションハイジャック(Session Hijack)と呼ぶ。
もし第三者がセッションIDを知ることができれば、そのセッションが有効な間だけとはいえ、パスワードを知らなくても「なりすまし」が可能となる。
また、
クロスサイトスクリプティングも、cookie情報を不正に得る手段として使われる場合がある。Cookieには有効範囲が設定されているが、その有効範囲内にクロスサイトスクリプティング脆弱性を持つページがある場合、JavaScript等を併用して、他のサーバにcookie情報を(URLの一部に組み込むなどして)送信させることが可能になる。
■
プライバシーの問題Cookieを使うと、そのユーザからの他の要求と関連付けることができる。
この手法は、Web広告業者がよく利用する。バナー広告は、業者のサーバへのリンクを介して画像を取得する形式が一般的である。前述のとおりcookieはHTMLに限らず、画像にも設定することができる。HTTPではリンク元のURL情報も送信することが一般的なので、結果として広告業者は、同社を利用するすべてのサイトを対象としてそのユーザのアクセス履歴を把握することが可能になる。ユーザのアクセス履歴を追跡するという意味からトラッキング・クッキー(Tracking Cookie)と呼ばれたり、メインのHTMLではなく画像の提供元が設定するという意味からサードパーティ・クッキー(Third-party Cookie)と呼ばれたりする。
これをプライバシーの侵害と考える人も、そう考えない人もいる。このようなcookieを設定したくないユーザのために、クライアント向けセキュリティ対策ソフトの多くは、トラッキング・クッキーを検出・除去する機能を備えている[5][6]。しかし、すべてのユーザにその影響が正しく理解されているとは限らず、コンピュータウイルスと誤解して初心者が驚くといった状況も散見される。
- 2009/10/08(木) 21:09:34|
- 未分類
-
| トラックバック:0
-
| コメント:0
インターネットを利用していると、時々「プロキシ」又は「プロキシサーバ」という単語に出会うことがある。
ではいったいこの「プロキシ」とはどういう意味なのだろうか?
■
プロキシとはプロキシ(Proxy)とは「代理」の意味であり、企業などの内部ネットワークとインターネットの境にあって、直接インターネットに接続できない内部ネットワークのコンピュータに代わって、「代理」としてインターネットとの接続を行なうコンピュータのことであり、また、そのための機能を実現するソフトウェアのことである。
ネットワークに出入りするアクセスを一元管理し、内部から特定の種類の接続のみを許可したり、外部からの不正なアクセスを遮断するために用いられる。NATやIPマスカレードと違って、Webブラウザなどのクライアントソフトウェアにプロキシを使うことを明示的に設定しないと利用することができない。
単にプロキシと言う場合は、WWW閲覧のためにHTTPによる接続を中継するHTTPプロキシを指す場合が多い。HTTPプロキシの中には、外部との回線の負荷を軽減するために、一度読みこんだファイルをしばらく自ら保存しておくキャッシュ機能を持つものもある。
※プロキシ利用の問題点不特定多数が利用しうる公開プロキシを通して掲示板に書き込んだ場合、掲示板を設置しているサーバのログにはプロキシサーバのIPアドレスが残り、実際に書き込みを行ったコンピュータのIPアドレスは隠蔽される。このためプロキシを通した書き込みには、掲示板荒らしや宣伝、犯行予告に使われてしまう可能性が少なからず存在する。
掲示板の管理者がプロキシの管理者にアクセスログを請求する場合があるが、プロキシの管理者が記録を取っていなかったり(単なる公衆中継点など)、定期的に記録を抹消していたり、管理者の不注意などにより意図せず公開されていたプロキシであったりすると、追跡が困難となる。書き込んだ者が複数のプロキシを使っていた(複数串と言われる)場合はなおさらである。
また、一部の悪意ある者がスパイウェアやコンピュータウィルスをプロキシサーバに仕込み、そのプロキシの利用者のPCにそれらが入り込むように細工する場合がある。そうでなくても、アクセスした間のCookieや履歴、入力したパスワードなどはプロキシサーバ管理者から丸見えになるので、セキュリティ上の問題も多数存在する。
- 2009/10/07(水) 01:16:18|
- 未分類
-
| トラックバック:0
-
| コメント:0
URL パラメータは、URL に付加される名前と値のペアです。このパラメータは、疑問符 (?) で始まり、name=value という形式で表されます。複数の URL パラメータが存在する場合、各パラメータはアンパサンド (&) で区切ります。次の例は、2 つの名前/値のペアがある URL パラメータです。
http://server/path/document?name1=value1&name2=value2
URL パラメータを使用すると、ユーザーが入力した情報をブラウザからサーバーに渡すことができます。サーバーが要求を受信したとき、要求の URL にパラメータが付加されている場合は、要求されたページにおいてそのパラメータが処理され、その後でそのページがブラウザに送信されます。
この例では、Web ベースのショッピングサイトのアプリケーションを想定します。ユーザーは、サイトにログインするときに、購入可能な商品の価格をどの通貨で表示するかを選択できます。
ブラウザは、サーバーのページ report.cfm を要求します。この要求には、URL パラメータ Currency="euro" が含まれています。Currency="euro" という変数は、取得された金額をすべて EU のユーロで表示することを指定します。
サーバーでは、この URL パラメータが一時的にメモリに格納されます。
report.cfm ページが取得され、パラメータに基づいてユーロ建ての商品価格が取得されます。取得される金額は、各種通貨のデータベーステーブルに保存しておくことも、各商品に関連付けられた単一の通貨からアプリケーションでサポートされている通貨に換算することもできます。
サーバーは、report.cfm ページをブラウザに送信し、要求された通貨で商品価格を表示します。このユーザーがセッションを終了すると、サーバーは URL パラメータの値を破棄し、サイトに新しいユーザーがログインしたときに要求を格納できるようにサーバーメモリを解放します。
URL パラメータは、HTTP の GET メソッドが HTML フォームと共に使用されたときに作成されます。GET メソッドは、フォーム送信時にパラメータ値を URL 要求に付加することを指定します。
URL パラメータを利用する例には、ユーザーの好みに応じた Web サイトのパーソナライズがあります。たとえば、ユーザー名およびパスワードで構成された URL パラメータを使用してユーザーの認証を行い、そのユーザーが利用している情報のみを表示します。この方法は、ユーザーが事前に選択した株式市場シンボルに基づいて個々の株価を表示する金融 Web サイトなどで利用されています。Web アプリケーションでは、一般に URL パラメータを使用してアプリケーション内の変数に値を渡します。たとえば、検索条件を Web アプリケーションの SQL 変数に渡し、検索結果を生成します。
- 2009/10/03(土) 22:37:33|
- 未分類
-
| トラックバック:0
-
| コメント:0
クロスサイトスクリプティング (Cross Site Scripting) とは、ソフトウェアのセキュリティホールの一つで、Webサイトの訪問者の入力をそのまま画面に表示する掲示板などのプログラムが、悪意のあるコードを訪問者のブラウザに送ってしまう脆弱性のことである。
もう少し詳しく説明をすると、動的にWebページを生成するアプリケーションのセキュリティ上の不備を意図的に利用し、狭義にはサイト間を横断して悪意のあるスクリプトを混入させることである。
また、それを許す脆弱性のことをいう。
広義にはスクリプトを混入させずとも、任意の要素を混入させられうる脆弱性を含む。
略記としてCSS、XSSがある。CSSは同分野でよく使用されるCascading Style Sheetsの略でもあるので、混乱を避けるためにXSSと表記されることが多い。
悪意を持ったユーザがフォームなどを通してJavaScriptなどのスクリプトコードを入力した時に、プログラム側に適切なチェック機構がないと、そのスクリプト内容がそのままHTMLに埋め込まれ、ページを閲覧したコンピュータでスクリプトが実行されてしまうことがある。
このような形でページに埋め込まれてしまったスクリプトは、Webブラウザではページ作成者以外が埋め込んだものであると認識できないため、ブラウザ側でこの問題を防止するには、スクリプトを使用しない設定にするほかなく、スクリプトを使用する場合は常にこの問題が発生しうるのである。
悪意のあるコードを直接埋め込んで実行させるほかに、ユーザに認識のないまま他所のスクリプトを呼び出して実行するよう仕向けることが可能なため、「クロスサイト」の名がついている。
- 2009/10/02(金) 00:52:47|
- 未分類
-
| トラックバック:0
-
| コメント:0
■Subversionとは
ネットリテラシーというわけではないが、ITに関係してよく耳にする言葉なので解説することにします。
Subversion(サブバージョン、サバージョン)とは、CollabNet Inc.によって開発され、オープンソースソフトウェアとして提供されているバージョン管理システムの名称である。
広く使われているバージョン管理システムの一つにCVSがある。CVSはよくできているが、ディレクトリの移動の管理やネットワーク対応の点、不可分な更新などでやや難がある。これらCVSの問題点を解決すべく開発されたのがSubversionである。
Subversionは、それまでオープンソースのバージョン管理システムとして事実上の標準(デファクトスタンダード)となっていたCVS(Concurrent Versions System)に代わる、次世代版バージョン管理システムとして登場した。CVSの長所を受け継ぎながら、逆にCVSの持つ不便な点や不具合の解消が図られている。システムの基本的な仕組みや操作についてはCVSと同じものが保持されており、CVSを使い慣れたユーザーも比較的違和感なくSubversionへ移行できるように図られている。
SubversionにおいてCVSから大きく変更された改善点の例としては、リビジョンの番号のつけ方が変わった点、メタデータを付与できるようになった点、HTTPの拡張プロトコルであるWebDAVをサポートしたことで、Webブラウザなどとの連携を図ることが可能になっている点、などを挙げることができる。
■参照リンク
subversion.tigris.org - (英文)
- 2009/09/30(水) 01:30:53|
- 未分類
-
| トラックバック:0
-
| コメント:0
DHCP(Dynamic Host Configuration Protocol)とは、インターネットに一時的に接続するコンピュータに、IPアドレスなど必要な情報を自動的に割り当てるプロトコルのことである。
DHCPサーバには、ゲートウェイサーバやDNSサーバのIPアドレスや、サブネットマスク、クライアントに割り当ててもよいIPアドレスの範囲などが設定されており、ダイヤルアップなどの手段を使ってアクセスしてきたコンピュータにこれらの情報を提供する。そしてクライアントが通信を終えると自動的にアドレスを回収し、他のコンピュータに割り当てる。
DHCPを使うとネットワークの設定に詳しくないユーザでも簡単にインターネットに接続することができ、また、ネットワーク管理者は多くのクライアントを容易に一元管理することができるのが大きな利点である。
テーマ:インターネット - ジャンル:コンピュータ
- 2009/09/29(火) 00:39:31|
- 未分類
-
| トラックバック:0
-
| コメント:0
POP3とは、インターネットやイントラネット上で、電子メールを保存しているサーバからメールを受信するためのプロトコル。現在最も広く普及している。
電子メールの送信に使われるSMTPとセットで利用される。
ユーザがタイトルや発信者を確認する前に、クライアントが全メールを受信してしまうため、発信者やタイトルの一覧を見てから受信するかどうか決められるIMAPをPOPの代わりに利用する場合もある。POPを使うとパスワードがネットワーク上をそのまま流れるため、通信途中で盗まれるかもしれないという危険性がある。
この弱点を改善し、パスワードのやり取りを暗号化したものをAPOPという。
また、POP3サーバとは、電子メールを受信するためのサーバ。現在もっとも普及しているメール受信プロトコル(通信規約)であるPOP3に対応しているもの。
POP3サーバは、学生の場合は通学先の大学、会社員の場合は勤務先の企業、家庭ユーザの場合は契約しているインターネットサービスプロバイダが保有し、運用している。
電子メールを送受信する際には、インターネット上に常に接続されたサーバと呼ばれるコンピュータを経由しなければならない。
サーバには送信用のサーバと受信用のサーバがあり(両者を兼ねているものが一般的)、受信用サーバの代表的なものがPOP3サーバである。
POP3サーバには個々のメールアドレスごとに「郵便箱」にあたるメールボックスが用意されており、メールを受信するとメールボックスに蓄積する。
ユーザがメールを受信するときは、電子メールソフトを使ってPOP3サーバに接続し、自分のメールボックスから自分宛てのメールを取り出す。
現在運用されているメール受信サーバのほとんどはPOP3サーバである。ただ、最近ではPOP3だけでなくIMAP4というプロトコルが使われることも多くなり、POP3とIMAP4の両方に対応したメール受信サーバも存在する。
- 2009/03/05(木) 21:34:19|
- 未分類
-
| トラックバック:0
-
| コメント:0
Simple Mail Transfer Protocol(簡易メール転送プロトコル、SMTP)とは、インターネットで電子メールを転送するプロトコルである。通常 TCP のポート番号 25 を利用する。 転送先のサーバを特定するために、DNS の MXレコードが使われる。RFC5321で標準化されている。
SMTP においてはクライアントがサーバに接続するとただちにサーバ-クライアント間に "SMTP セッション" が確立され、その後、両者の間でコマンドやそれに対する応答やメールがやりとりされる。SMTP セッション中には複数のメール・トランザクションがふくまれうる。セッションの確立のためにメッセージ送受信をともなわない点では SIP や RTSP とはことなっている。セッションの終了のためには QUIT コマンドが使用されるが、これが SIP でいえば BYE メッセージに対応している。
SMTP においてはトランスポート・プロトコルとして通常 TCP が使用されるが、それに限定されることはない。
- 2009/03/05(木) 21:28:08|
- 未分類
-
| トラックバック:0
-
| コメント:0
Validation と Verification は似て非なる概念です。両者とも辞書をひくと「検証」といった意味になるのですが、それではわざわざ用語を分けている理由がよくわかりません。
Validation とは要求に対して、正しいものが定義されているか否かを検証する際に用いる用語です。
例えばユーザーの要求が「温度設定を1度刻みで行ないたい」といったものなのに、10度刻みで温度設定を行なう仕様や、モジュールしか用意されていないとするとValidationを通過しないことになります。
これに対して Verification は要求を取り込んで、仕様として定義したものが、正しく設計/実現されているかどうかを検証する際に用いる用語です。
例えば温度設定を1度刻みで行なうための機能仕様を
SetTemperature :: t : Int -> void
pre-condition : system.stable == true
post-condition: within (n) environment.temp equals-to t
と書いたとしましょう。記法は適当に決めたものですが、ここでは SetTemperature という機能は引数に t という整数値をとり事前条件は、システムが安定動作していること、事後条件は n 単位時間内に環境の温度が設定した t と「等しく」なるという意味だとします。
このとき上記の機能仕様が求める結果を、実際の設計や実装の結果が満たしているのかを検証する行為が Verificationとなります。
Validation と Verification の区別は大切です。一般的に技術者は Verification に熱中する傾向がありますが、Validateされていない仕様をいくら Verify しても何の意味もないということを肝に銘じる必要があります。
- 2009/03/02(月) 11:14:55|
- 未分類
-
| トラックバック:0
-
| コメント:0
次のページ