運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。
前回は、Webアプリケーションにおける受動的攻撃の代表例の1つであるXSSについて、原理や対策を振り返りました。今回は、同じく受動的攻撃の代表例であるCSRF、オープンリダイレクト、クリックジャッキングについて掘り下げて解説していきます。 CSRF(クロスサイトリクエストフォージェリ) CSRFはどのように引き起こされるのか CSRFとは、たとえば掲示板の書き込みや設定情報の変更などの機能に対して、攻撃者のサイト上に設置されたフォームなどから強制的にリクエストを発行することで、ユーザーの意図していない操作と同様の結果をもたらす攻撃手法です。Webアプリケーションに永続的な副作用がある機能が攻撃の対象となります。 たとえば、http://example.jp/上に設置された掲示板で以下のようなHTMLがあったとします。 <form method="POST" action="/board">
PHPの生みの親、ラスマス・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ
はじめに はじめまして。クックパッド株式会社の荒井(@ryot_a_rai)と申します。 今回から全5回、構成管理ツールであるItamaeの入門から実際の活用例までを解説していきます。今まで構成管理ツールを使ったことがなかった方から、Itamaeをすでに使っている方まで、ぜひご覧ください。 Itamaeとは Itamaeは筆者が中心となって開発を進めているオープンソースの構成管理ツールです。同様のツールとしてはPuppet、Chef、Ansibleなどが有名ですが、ItamaeはChefに影響を受けています。Chefの記述性・柔軟性を持ちながら、シンプルで導入しやすい構成管理ツールを目指して開発が進んでいます。 構成管理ツールの必要性 Itamaeの解説を始める前に、構成管理ツールを使う理由について軽く考えてみたいと思います。 サーバ構築の自動化 手動構築の手間と時間を減らす 手動構築によ
WEB+DB PRESS Vol.37の特集1「実演!リファクタリング」の特設ページです。リファクタリングの実演ムービーや誌面サポート情報などを掲載しています。 なお,本企画は「実演!テスト駆動開発」(WEB+DB PRESS Vol.35の特集1)と連続性を持っています。 更新履歴 2007年3月2日 訂正情報の追加 pom.xmlに,JVMのデフォルトエンコーディングがShift_JIS以外のOS(要するにWindows系以外のOS)をお使いの方向けの設定を追加しました。詳しくは5ページ目をご覧ください。 ダウンロード用サンプルコードの差し替え 上記補足情報に対応したpom.xmlに差し替えました。 著者からのメッセージ 実演ムービーをご覧いただくにあたっての,著者の和田卓人さんからのメッセージです。 Eclipseのリファクタリング機能 第3章を題材にした,Eclipseのリファク
庄司先生は初めに、「プログラマ定年説」の話題を持ち出し、「35(歳)」という数字を挙げました。これは数年前、ブログやメディアでも騒がれた「プログラマの定年は35歳なのか」という議題なのですが、ここで庄司先生は「35歳が定年かどうかというのは、実際に35歳でプログラマとして働いている人がいるので正しいとは思いませんが、それより大事なのは、このように数字を見ること」と言います。そして、エンジニアなのだから「数字を見方につける」ことができ、それができればモノの見方が変わるとして、エンジニアの算数の授業を始めました。 ここでは、身の回りに起こる事象を数字で捉え、定量的な考え方をすることで、エンジニアの働き方が良い方向に変わるという仮設のものと、授業が進みました。 なぜ働くのか―自分の幸せのために そして、米国労働総計局の2006年の調査数字を引用して、「平均的アメリカ人は、起きている時間
今週のレシピでは、Ubuntu上でのAndroid開発環境構築を紹介します。コードのビルドと実行のターゲットには、先週紹介したIDEOSを使用することにします。 Android SDKのインストール Androidプログラミングをはじめるためには、Android SDKをインストールする必要があります。Android SDKはAndroid DevelopersのサイトからLinux用のtarボールをダウンロードして任意のディレクトリに展開してください。 Android SDKのダウンロードと展開 $ wget http://dl.google.com/android/android-sdk_r08-linux_86.tgz $ tar zxvf android-sdk_r08-linux_86.tgz SDKの展開が完了したら、ADV Managerを起動します。 ADV Manager
本日12月1日より、プログラマ有志による各技術系Advent Calendarが一日目を担当する人のblogではじまっている。ここ数年は、師走の風物詩になっている。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付の部分(扉だったりする)がめくられるようになっており、1日ずつその日の日付の部分をめくると天使や動物の絵などが見えるという仕組み(もちろん、様々なバリエーションがある)。 これに発想をえて、技術系Advent Calendarでは基本的に、12月1日から25日までの25日間、プログラミング言語縛りなどの最低限のルールで、毎日別の人(同じ人が複数回担当することもある)が自分のblogにて記事を書くという形式になっている(特設サイトを用意して、記事をまとめる手法もある)。なお、国内ではATNDの
第1回目は、Androidアプリを開発するにあたっての準備や心構え、そしてAndroidアプリ開発の醍醐味について紹介します。 まずは、ご挨拶 今回から12回にわたり、Androidアプリの開発の連載を担当させて頂くことになりました。よろしくお願いします。まずは、ご挨拶を兼ねた自己紹介から始めさせて頂きます。筆者は、Windows CE, Pocket PC, Palm OS向けにアプリを開発して経験があります。ご存知の方がいるかわかりませんが、稚作には「DMoney」があります。当時は、PDA向けにアプリを開発していたのですが、スマートフォンと比較すると、潤沢とは言えないメモリとノンビリしたCPUをやりくりしながら、ライフワークとしてアプリ開発を楽しんでいました。 図1 想い出のマシン達とHT-03A。上から右回りで、IBM WorkPad、ご存知HT-03A、Palm Tungsten
何事も基本が一番大切です。システム開発/コンピュータプログラミングも同じく基本が大切です。基本を守らないシステム設計やコーディングは問題発生の原因となる可能性が高いことは経験上理解できると思います。 セキュリティ対策の基本も非常に大切ですが、何故か基本はあまり語られていません。今回は安全性確保の基本中の基本を紹介したいと思います。 あまり語られない核心 正しいセキュリティ対策を行うには、セキュリティ問題の原因を理解する必要があります。 セキュリティ対策の記事などでは個々のセキュリティ問題に対する具体的な原因と対策が紹介されていることが多いです。私のブログも含め個人ブログなどでは「こういう場合はこうする」といった簡単な対処例が紹介されることが多いです。例えば、「SQLインジェクション対策にはプリペアードクエリだけを使えば大丈夫」などです。 読者の方もセキュリティ対策はどうすればよいのか、具
はじめまして。本連載の執筆を担当する青木と申します。Flashのフレームワークである「Progression」が4月22日にバージョンアップされました。本連載では、約8回に渡ってProgression4の使い方を説明していきます。少しでも分かりやすく作成手順を紹介することで、Progressionの素晴らしさを伝えることができればと考えています。どうぞよろしくお願いいたします。 初回は、Progressionの沿革や概要を説明し、Progression環境を設定します。 Progressionの需要と事例 Progressionは、実案件にも耐えうるフレームワークとして、数々の案件に使用されてきました。導入事例数は、把握しているだけでも軽く1,000件を超えます。Flashサイトを見た時に右クリックを押すと、Progressionの文字をよく見かけるはずです。 それだけ、Flashサイトを
jQueryプラグインの魅力は、JavaScriptの知識がなくても簡単に色々な機能を実装できることですね。今回は「誰でも簡単に実装できるツールチッププラグイン」を作成してみましょう。 ツールチッププラグインの要件は以下の通りです。 titleまたはalt属性がある要素を対象 titleとalt属性両方を持っている場合はtitleを優先 対象要素にマウスオーバーでツールチップをフェードイン 対象要素からマウスアウトでツールチップをフェードアウト 対象要素上ではツールチップはカーソルに追従 まずは完成サンプルとソースコードを見てみましょう。 完成ソースコード // ここからツールチッププラグイン $.fn.easyToolTip = function(options){ // toolTipを生成してbodyに追加しておく var toolTip = $('<div id="toolTip"
前回は形態素解析を使う検索エンジンのしくみについて説明しました。今回は、FINDSPOTで使用しているN-gramという検索エンジンのしくみについて説明します。 N-gramによる見出し語の切り出し 前回は、形態素解析による検索エンジンでは、検索可能な最小単位が分かち書きの切り分け単位となる点を説明しました。 一方、N-gramを使った検索エンジンでは、単純に文字の並びを見出し語としてインデックスを作成します。1文字を元にインデックスを作成する方法をユニグラム、2文字の並びを元にインデックスを作成する方法をバイグラム、3文字の並びを元にインデックスを作成する方法をトリグラムと呼んでいます。 1文字:ユニグラム 2文字:バイグラム 3文字:トリグラム N-gramによる見出し語の切り出しは、形態素解析のための文法解析を伴わないため、特定の自然言語に依存しないという特徴があります。 FINDS
内容が難しくなる前にFirebugに慣れる! 第1回から第4回まで、jQueryについての各セレクタやメソッドなどを見てきました。各回で簡単なサンプルも載せていましたが、皆さんここまでの内容については問題なくついてこれていますでしょうか? まだjQueryの基礎について全てを説明し終えてはいないのですが、そろそろスクリプトも長くなってきて、考えることも難しくなってきています。第3回と第4回の内容を振り返ってみても、少しずつスクリプトの量も増えてきているのがわかると思います。この先も、内容が増えていくにつれて、スクリプトも長く、手順をうまく考えなくてはならなくなってきます。 内容がもっと難しくなっていく前に、一度ここで復習をして、この先に備えておきましょう。 Firebugをもっと使ってみる ここまで、いくつかサンプルなどを紹介してきましたが、まだまだjQueryがいまいち理解できていない人
濃縮還元オレンジニュース Facebook、オープンソースのノンブロッキングなWebフレームワーク「Tornado」を公開 2009年9月11日、SNSサービスを運営するFacebookは、Pythonで書かれたWebフレームワーク「Tornado」をオープンソースで公開しました。Tornadoは、Facebookによって買収されたフィードアグリゲーションサービスFriendFeedにて使われているWebフレームワークをベースに、依存関係を減らすようリファクタリングしたものです。 Tornadoの大きな特徴として、FriendFeedのようなリアルタイム性、大量接続の要件に応えるべく、ノンブロッキングI/O、epollを用いたアプリケーションを作成できます。ほかにもGoogle App Engine対応、サードパーティ認証、CSRF(Cross-Site Request Forgeries
はじめに 先日、東京のお台場にガンダムの実物大の模型ができました。見に行かれた方も多いのではないでしょうか。CGでどんな映像でも作れる時代ですが、やはり実物というのは迫力が違うものです。 ガンダムに対抗するわけではないのですが、本稿では鉄道模型の制御に挑戦してみようと思います。模型であっても、実際に車両が動くというのは格別なものです。普通、制御というとC言語などを使用しますが、ここではPHPからLAN経由で制御するようにしてみました。まずどうやって制御しているのか、見ていきましょう。 こんなふうに動きます まずは写真のような一直線のレイアウトを動かしてみましょう。普通のNゲージでは電源は1ヵ所だけ供給しますが、今回は5ヵ所に供給しています。これについては、後ほど解説します。 図1 直線レイアウト そして、PHPのプログラムはリスト1のようになります。このプログラムをコマンドラインから実行す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く