タグ

ブックマーク / xtech.nikkei.com (27)

  • 崩壊する「HTTPS神話」、鍵マークはもはや信頼の証しではない

    個人情報を入力するWebサイトでは、Webブラウザーに鍵マーク(錠マーク)が表示されているのを確認する――。セキュリティーのセオリーとして、筆者が何度も記事に書いたフレーズだ。 だが、「鍵マークが表示されていれば安全」というHTTPSの神話は崩壊した。常識が変わったのだ。 米国の政府組織であるインターネット犯罪苦情センター(IC3)は2019年6月、「Webブラウザーのアドレスバーに、鍵のアイコンあるいは『https』という表示があるという理由だけでWebサイトを信頼しないでください」と注意を呼びかけた。

    崩壊する「HTTPS神話」、鍵マークはもはや信頼の証しではない
    geerpm
    geerpm 2019/07/18
    そんなのあたりまえ、なんて言わずにじゃあどうしたらその辺の人にもわかるかを考えるのがエンジニアの仕事。
  • 第4回 Catalyst(前編)---Perl向けWebアプリ・フレームワーク

    この記事は,日経ソフトウエア2006年9月号,連載「簡単実装で学ぶWeb技術2006」の第3回「Catalyst――Perl向けWebアプリ・フレームワーク」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。今回はPerlのWebアプリケーション・フレームワーク「Catalyst」を解説し,簡単なメモ帳プログラムを作ります。 Catalyst(カタリスト)は,Perlで作られたWebアプリケーション・フレームワークです。Catalystを使うと,Webアプリを簡単に作成・テスト・配布することができます。catalystという単語のそもそもの意味は,「触媒」あるいは「促進させるもの」です。Perlのモジュール同士を触媒のようにうまく結びつけて,Webアプリ作成を促進させるという意味の名前なのでしょう。 Catalystのオフィシャルページは

    第4回 Catalyst(前編)---Perl向けWebアプリ・フレームワーク
  • 第1回 まずは「クッキー」を理解すべし

    Webアプリケーションのぜい弱性がなかなかなくならない。メディアなどでも盛んに取り上げられているにもかかわらず,である。特に,セッション管理がからむアプリケーションのぜい弱性には,気付かないことが多い。具体的には「クロスサイト・リクエスト・フォージェリ」(CSRF),「セッション・フィクセーション」などである。これらはクロスサイト・スクリプティング,SQLインジェクションといった比較的メジャーなぜい弱性に比べて認知度が低く,対策も進んでいない。 原因の一つは,アプリケーションの開発者が原因を正しく理解していないこと。CSRFやセッション・フィクセーションについて言えば,セッション管理に使うクッキー(cookie)の動作を理解していないと対策が難しい。ところが最近の開発環境では,セッション管理の仕組みが隠ぺいされているため,必ずしもこの知識は要求されない。こうした開発者は容易にはぜい弱性に気

    第1回 まずは「クッキー」を理解すべし
  • 第2回 Comet---プッシュ型のWebアプリケーションを作る

    この記事は,日経ソフトウエア2007年1月号,連載「簡単実装で学ぶWeb技術2006」の第7回「Comet――プッシュ型のWebアプリケーションを作る」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。 今回は,サーバーからデータをプッシュするタイプのWebアプリケーションを作成する技法の「Comet」を紹介します。簡単なチャット・プログラムを通してCometの仕組みを学びましょう。 Cometとは 通常のWebアプリケーションは,クライアント(Webブラウザ)から送られてくるリクエストを受け取って動作します。つまり,WebアプリケーションはユーザーがWeb上のリンクをたどったり,ボタンを押したりすることをきっかけに動くのです。ここで,動きの主導権はクライアント側にあります。クライアントがサーバーから情報を「引き出す」ことによって動作する

    第2回 Comet---プッシュ型のWebアプリケーションを作る
  • はじめてのカーネル・ソース---目次:ITpro

    なかなかハードルが高く,多くの人が踏み出せないでいるカーネルのソース・コードの読解。連載では,今までカーネル・ソースなんて見たことがないという人に,読みこなすコツをお教えします。 カーネルのコンパイル方法については,関連記事「やってみると意外に簡単!? Linuxカーネル・コンパイル入門」をお読みください。 また,カーネル・パラメータの項目については,関連記事「「Linuxカーネルの設定パラメータ」」で公開しています。 第1回 どうしたら読めるようになるのか 第2回 C言語とライブラリの初歩 第3回 カーネル・ソース内のシステム・コールを確認する 第4回 カーネルが構造体を好むワケ 第5回 デバイス・ドライバとモジュール 第6回 構造体に「関数」を登録する 第7回 ネットワーク処理はモジュール処理と上下が逆 第8回 データに意味付けするキャスティング手法 第9回 機能拡張でよく使われる共

    はじめてのカーネル・ソース---目次:ITpro
  • 【PHP TIPS】 70. mod_rewriteでの/問題:ITpro

    mod_rewriteを使う場合、URLに「%2F」が含まれるとApacheの設定によっては思い通りに動作しない可能性があります。 mod_rewriteについては第15回のメーリングリストを参照していただくとして、まずは以下のようなURLを考えてみましょう。 http://example.com/search/keyword%2Fkeyword ここでは、以下のようなルールで変換を行うとします。 RewriteEngine On RewriteRule \/search\/(.+)$ /search.php?q=$1 [L] また、search.phpはmod_rewriteの動作確認用に、以下のような簡単なコードを使用するとします。 <?php echo $_GET['q']; ?> 先ほどのURLにアクセスした場合、search.phpを呼び出して「keyword%2Fkeyword

    【PHP TIPS】 70. mod_rewriteでの/問題:ITpro
  • 第1回 HTTPの仕組み(前編)

    アーキテクチャは3種類 まずは,情報システムの基アーキテクチャを簡単におさらいしたい。主な基アーキテクチャには,ホスト・システム,クライアント/サーバー(C/S)システム,Webシステム――の3種類がある。 ホスト・システムは,「ホスト」と呼ばれる大型コンピュータで集中処理する。ホストに接続した「端末」はあるが,画面表示と通信を担当するだけで,業務処理は実行しない。ホスト・システムは,情報システムの黎明期から実績を積み重ねているので,システム全体の堅牢性が高く,今日でも多用されている。 これに対してC/Sシステムとは,「クライアント」と「サーバー」(一般的にはデータベース・サーバー)という二つの要素で構成し,それぞれで業務を分散処理する。サーバーの負荷が軽くなるので,ホストに比べてハードウエアは小型・安価・低スペックで済む。オープン系(UNIXやPC)システムで多用されてきたが,構築や

    第1回 HTTPの仕組み(前編)
  • 基礎から理解するデータベースのしくみ(1)

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。確かに,最近の市販のリレーショナル・データベース管理システム(RDBMS)にはGUIベースの管理ツールなどが付属し,データベースそのものについての深い知識が求められることは昔に比べれば少なくなりました。メモリーやディスクなどのハードウエア・リソースが増えて,開発者のスキル不足が表面化しにくくなったこともあるでしょう。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。「SQL文を受け取ってから結果を返すまでにRDBMSがどんな処理をしているのか」「データ・ファイルの物理構造はどうなっているのか」「インデックスはどのように格納されているのか」——。こうした知識がないと,パフォーマンスな

    基礎から理解するデータベースのしくみ(1)
  • [MySQLウォッチ]第38回 インデックスの劣化と再生

    データベースは,大量のデータを格納して目的に合わせて処理するのが役割である。処理を高速化する機能として,インデックスが用意されている。インデックスは,あらかじめ検索やソート対象となる列のデータを処理しやすいように別管理するものだ。インデックスを使いこなせるかどうかで,データベース処理の良し悪し決まるといっても過言ではない。しかし,インデックスいつまでも高速ではない。その効果が,色褪せる時がやってくるのだ。 インデックスの効用 まずは,肩慣らしにインデックスの効用を確認する。テーブル「pono」は,日郵政グループの日郵便事業株式会社が提供している郵便番号データを格納したテーブルだ。 図1●テスト用のテーブル「pono」 mysql> show create table pono \G *************************** 1. row *****************

    [MySQLウォッチ]第38回 インデックスの劣化と再生
  • 第2回 C言語とライブラリの初歩

    なかなかハードルが高く,多くの人が踏み出せないでいるカーネルのソース・コードの読解。連載では,今までカーネル・ソースなんて見たことがないという人に,読みこなすコツをお教えします。今回は,ソースを読むための大前提となるC言語の基知識について学びます。 カーネルのソース・コードは,基的にC言語で書かれています。そのため,C言語をある程度読めなければ話になりません。といっても,カーネル・ソースを読むのが目的ですから,C言語のプログラムを書く必要はありません。コツさえ分かれば,読みこなすのはびっくりするほど簡単です。そこで,今回は,カーネルを読みこなすために最低限知っておくべき,C言語の知識をお教えします。 まず,図1を見てください。C言語をほとんど見たことがない読者の方は,何が何やらさっぱり分からないのではないでしょうか。でも大丈夫です。意外に難しくありません。 1 #include <s

    第2回 C言語とライブラリの初歩
  • はじめてのカーネル・ソース 第1回 どうしたら読めるようになるのか:ITpro

    なかなかハードルが高く,多くの人が踏み出せないでいるカーネルのソース・コードの読解。連載では,今までカーネル・ソースなんて見たことがないという人に,読みこなすコツをお教えします。今回は,どうしたらカーネル・ソースを読みこなせるようになるのか,筆者の経験をお話します。 Linuxユーザーなら誰しもカーネルのソース・コード(カーネル・ソース)を読んで,どのような処理を行っているのかを確認したり,自分なりの変更を加えたりしたくなるのではないでしょうか。しかし,カーネル・ソースの量は膨大な上,C言語で書かれているので,コンピュータ内部やOS(オペレーティング・システム)の仕組みを理解したプログラマでないとなかなか読みこなせません。そのため,カーネルを読むための第一歩を踏み出せない人が数多くいることは事実です。 講座では,プログラマではないごく普通のLinuxユーザーが,カーネルをある程度自力で

    はじめてのカーネル・ソース 第1回 どうしたら読めるようになるのか:ITpro
  • Linuxカーネル・コンパイル入門 後編:カーネルの導入とパラメータの設定

    ソース・コードが自由に入手できるLinuxならではの楽しみが,カーネルをコンパイルして,独自のシステムに仕立てられること。例えば,より新しいカーネルのソース・コードを入手し,コンパイルして導入すれば,最新機能をいち早く試せる。初めて「カーネル・コンパイル」に挑戦する人に向けて,カーネルを安全に導入する方法を具体的に解説する。今回は,実際にカーネルをコンパイルして導入する手順を紹介する。 前回は主に,カーネル・コンパイル前の心構えや注意点を説明した。ディストリビュータやシステム・ベンダーのサポートを受けている人は,カーネル・コンパイルを実行するとサポート対象外になることや,実用しているシステムではなく試験用あるいは予備のシステムで事前に試してから実行することなどを述べた。 今回は,実際にカーネルをコンパイルして導入する手順を紹介する。 カーネルの導入方法 カーネルのコンパイルに必要な手順を図

    Linuxカーネル・コンパイル入門 後編:カーネルの導入とパラメータの設定
  • 矢沢久雄の早わかりGoFデザインパターン 目次:ITpro

    ITを分かる経営者」が続々誕生、それでも日企業のDXがろくでもないのはなぜだ 2024.03.11

    矢沢久雄の早わかりGoFデザインパターン 目次:ITpro
  • 生年月日から年齢を計算する簡単な計算式:ITpro

    私の個人ブログに掲載したら好評でしたので、こちらでもご紹介してみます。 最近知ったんですが、生年月日から年齢を計算する簡単な計算式というのがあるそうです。 (今日の日付-誕生日)/10000の小数点以下切捨て。 PHPで書くと echo (int)((20070823 - 19850101)/10000); Perlで書くと print int ((20070823 - 19850101)/10000); JAVAで書くと System.out.println( (int)((20070823 - 19850101)/10000) ); という感じになります。 日の法律を確認してみました。誕生日の前日が終了する瞬間(すなわち誕生日をむかえる午前0時00分の直前)に1歳を加えることになる。ただしうるう年など、年によって期間を定めた場合において最後の月に応当する日がないときは、その月の末日を

    生年月日から年齢を計算する簡単な計算式:ITpro
  • 最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro

    ポイント ・高度なインデックスやジョインを利用し,最短経路でデータにアクセス ・メモリー不足を自律的に解消し,キャッシュのヒット率を高める ・インメモリーDBは全データをメモリーで処理し,高速化を図る 目的地に早く到着したいなら,最短の経路を最速で行けばよい。これはデータベース(DB)でも同様だ(図1)。インデックスなどを使ってデータへの最短経路を見つけ,メモリー・アクセスを増やして,最速でたどり着く。DBにはそんな技術が詰まっている。 図1●データベース高速化技術のポイント ビットマップ・インデックスなどを使い、データにたどり着く最短の道を選ぶ。また、できるだけメモリーにデータをキャッシュさせておくことで、アクセスのスピードを上げる、という二つのポイントがある [画像のクリックで拡大表示] 以下では,(1)データにたどり着く最短の道を選ぶ仕組みと,(2)アクセスのスピードを上げる仕組みの

    最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro
  • 生命体は融合に向かう(1)量子論と相対論を統合する超ひも理論

    素粒子のミクロの世界と,宇宙の謎に迫るマクロの世界。20世紀最大の発見である量子理論と一般相対性理論。その二つを統合しようとしているのが超ひも理論(スーパー・ストリング・セオリー)です。 量子理論には,ハイゼンベルグの不確定性原理というマカ不思議な世界があります。全ての状態を同時に実現している世界です。しかし,観察者からはその一つしか見えません。一方,相対性原理の不思議な部分は,アインシュタインが明らかにした重力と時空の歪みの関係です。最大の問題は両者(重力と時空)には全く共有点がないことです。 空間の絶対的大きさなんてありません。どこまでも大きくどこまでも小さく,それは相対的なものでしかありません。我々3次元空間の世界は人間の絶対値をベースに大きさを認識しています。ですから,大きい宇宙と素粒子の世界とを同じシンプルな理論体系で説明できると考えるのが普通です。「真実や自然はシンプルで美しい

    生命体は融合に向かう(1)量子論と相対論を統合する超ひも理論
  • 51. スクリプト上で楽にデータをPOST送信しよう

    Webサイトを構築していると様々な形でデータを送信する必要がでてきます。例えば、Ping送信のように多数のサイトへ同じデータを渡すこともあるでしょう。特に、データサイズが大きい場合や、トラックバックのようにPOST形式で送信しなければならないこともあります。そこで今回はスクリプト内で POST送信を実行する簡単な方法を紹介します。 PHPに組み込まれている関数のみでデータをPOSTする場合、HTTPヘッダを自分で 作成し、これにデータを付加しなければなりません。例えば、以下のようになり ます。 <?php $data = 'hoge=' . urlencode($value) . '&name=' . urlencode($name); $post = "POST http://www.example.com/test.php HTTP/1.1\r\n" . "Host: www.exam

    51. スクリプト上で楽にデータをPOST送信しよう
  • まつもと直伝 プログラミングのオキテ 第0回 あらためてRuby入門(基本と他言語との違い)

    まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 こんにちは,はじめまして。まつもと ゆきひろと申します。ひょんなご縁から誌で講座を書かせていただくことになりました。「日経LinuxではまだRuby*1を取り扱ったことはありませんから,紹介から始めてください」と依頼されました。 そういえば,Rubyの紹介記事を見る機会は少ないかも知れません。1993年にRubyの開発を始めてからもう12年になり,Rubyについて知っている人はずいぶん増えました。しかし,あらためて紹介記事を書くという機会はほとんどないものです。少し調べてみたら,雑誌に「Rubyの紹介記事」が載るのは2002年以来のようです。 せっか

    まつもと直伝 プログラミングのオキテ 第0回 あらためてRuby入門(基本と他言語との違い)
  • 大企業部長×ネット書評家×校長兼教授,人生を3倍生きる松山真一さんのブログ&メルマガ活用術

    大企業の管理職ともなれば,社外はもちろん,上司や部下からも仕事が次々に舞い込んで,日々目まぐるしい忙しさでしょう。 ところが,そんな要職にありながら,10年間にわたって毎朝の通勤時間に一冊ずつを読破しては書評メルマガやブログを配信。人気ネット書評家としての地位を確立した「早朝起業家」がいます。それだけではありません。バランススコアカードやマインドマップなどの独創的な著書を毎年のように出版する人気著述家兼講師としても知られているのです。さらには,大学院の客員教授としてもお声がかかって活躍するうちに,自社の有志と社内カレッジを作って初代校長になってしまいました。 それが,Webook of The Day発行人,Jカレッジ校長,金沢工業大学大学院客員教授などの多彩な活動で知られる松山しんのすけ(松山真之助)さんこと,(株)JALUXの松山真一さんです。 今回は,松山さんが,ブログやメルマガと

    大企業部長×ネット書評家×校長兼教授,人生を3倍生きる松山真一さんのブログ&メルマガ活用術
  • 最終回 セキュアなSSHサーバーを構築する

    これまで構築してきた自宅サーバーによるサービスを,外出先からも利用できたら便利だ。そこで今回は,SSHサービスとポート・フォワードを設定し,外からも自宅サーバーを使えるようにしてみよう。 連載の最後となる今回は,自宅サーバーでSSH(Secure Shell)サービスを稼働させる。SSHは,外部から自宅サーバーへのリモート・ログインを可能にするサービスだ。このSSHとポート・フォワード機能を併用すれば,SSHで接続したクライアントはLAN内に設置したように,メールやWebなどのサービスを利用できる。 もちろん外部向けのサービスを稼働すれば,それだけ攻撃を受ける可能性が高くなる。そこで,よりセキュアに運用できるよう,公開鍵(かぎ)認証やファイアウオールを設定したSSHサーバーを構築しよう。 SSHの認証方法 SSHを使って,外部からリモート・ログインを行うときのユーザー認証では,パスワード認

    最終回 セキュアなSSHサーバーを構築する