タグ

ブックマーク / labs.unoh.net (21)

  • ウノウラボ Unoh Labs: 5分でできるウェブサーバのセキュリティ向上施策

    こんにちは、naoya です。 先日、ウノウが公開しているサービスの中にいくつかの脆弱性が見つかったため、社内で「脆弱性発見大会」を開催しました。この大会は、二人一チームに分かれてウノウが公開している各サービスの脆弱性を見つけることを目的とした大会です。結果は、いくつか各サービスに脆弱性が見つかり、すぐに修正することができました。 僕のチームは、ウノウのホームページやラボブログなど細かいサービスを担当しました。その中で、いくつかのウェブサーバにセキュリティ上あまい設定がありました。 今日は、ウェブサーバのセキュリティ向上のための設定方法についてエントリします。なお、ウェブサーバはApache 2.2系を前提としています。 サーバ情報の表示しない ウェブサーバ(Apache)で、404などのエラーページを表示したとき、ヘッダやページの下にApacheやOSのバージョンが表示されます。こういっ

  • ウノウラボ Unoh Labs: Flashの新しい可能生 Asynchronous Flash + XMLSocket

    尾藤正人(a.k.a BTO)です 昨日ラボプロジェクトとして実験的に開発している新規プロジェクト「プラッシュ」をβ公開しました。 簡単に説明するとプラッシュはFlashとXMLSocketを使う事でブラウザだけでネットワーク対戦ができるゲームポータルサイトです。 今回はプラッシュで使われているFlashとXMLSocketを使ったアプローチについて考察してみたいと思います。 はじめに 正直に告白すると僕はFlashを一行も書いた事がありません。(汗) なので、Flashの部分に関してはFlash側の開発者であるyossyに聞いたり、Webで調べた情報がほとんどです。 不正確な情報が含まれてる可能性がありますが、その辺を考慮していただければと思います。 FlashのXMLSocketで何ができるのか FlashのXMLSocketを使うと直接ソケット通信を行う事ができます。 AjaxやCo

  • ウノウラボ Unoh Labs: WEBアプリテストのチェック項目リスト

    こんにちは!やまもと@テスト番長です。 TestingGeekという耳障りの良い名前のサイトをご存知でしょうか? 総合的にテストの話を取り扱っており、それでいて読みやすいサイトです。 そこのTemplatesのコーナーにWeb Application Testing Checklist という便利そうなものがありましたので、日語にしてみました。 ちょっとそのままだと物足りない感がありますが、テストポリシー作成の叩き台に使ってみるのも良さそうですね。 この手のリストを他にもご存知の方がいらっしゃれば、是非ご一報ください。 1. 機能テスト 1.1 リンク 1.1.1 記載された通りの先に遷移するか 1.1.2 どこからもリンクされないページは存在しないか 1.1.3 全ての外部リンク 1.1.4 参照しているサイトおよびメールアドレスはハイパーリンクになっているか? 1.1

  • ウノウラボ Unoh Labs: yumのローカルミラーリポジトリを構築する方法

    naoya です。 フォト蔵などのサービスは、社内にあるサーバ群で運用しています。現在、サービスの規模が成長するにつれて、サーバの台数も約20台強くらいになってきました。 すべてのサーバには、Fedora Core 5がインストールされていて、すべてのサーバにまったく同じパッケージがインストールされています。パッケージの更新には、Fedora Core 5に付属しているyumを使ってすべてのサーバを定期的に更新をしているのですが、yum-fastestmirrorをインストールしている状態でもパッケージの更新に時間がかかるようなってきました。 そこで、一台のサーバにyumのローカルミラーリポジトリを構築してパッケージのダウンロード時間を減らしてみました。今日は、yumのローカルミラーリポジトリを構築する手順を紹介します。 1.必要なパッケージのインストール yum-utilsとcreate

  • ウノウラボ Unoh Labs

    gotandajinです。 なにかGUIアプリケーションを作ろうとした時、一番手軽に手を出せる開発環境はVisual Studioあたりかなぁと思われますが、Visual Studio は基的にWindows専用です。Javaを使えばプラットフォーム間の差異を吸収して、同一ソースでWindowsMacLinux などの複数のOSで動くGUIアプリを作れますが、他の選択肢としては、開発言語をCやC++で、マルチプラットフォームなGUIフレームワークを利用しての開発、なんかが挙げられます。マルチプラットフォームなGUIフレームワークを使えば、Javaと同様に同一ソースで複数のプラットフォーム用のGUIプログラムが作成できます。こちらはJavaとは違い、オブジェクトコードとして生成できるのが特徴です。 代表的なマルチプラットフォームGUIフレームワークにはQT(キュート)やwxWidget

  • ウノウラボ Unoh Labs: Cactiによるサーバ稼働状況の監視と異常通知

    こんにちわ。 7月2日に、エイガでつながるクチコミサイト「映画生活」のリニューアルが無事に終わってほっとしているhideです。近々、映画APIなども公開していきたいと思っていますので、どうぞよろしくお願い致します。 さて、今日は、Cactiを使ったサーバ稼働状況の監視について説明したいと思います。サーバの稼動状況を監視するツールとしてはMRTGが有名ですが、ウノウではCacti を使っています。MRTGと比べて、Webブラウザ上から設定を行うことができる、データはMySQLに保存されるので過去の任意の時点を詳しく見ることができるなどの点で優れています。 Cactiは普通にインストールしただけだとサーバから取得したデータをグラフ表示するだけなのですが、http://cactiusers.org/にて公開されている Cacti Plugin Architecture というパッチを当てるとプ

  • ウノウラボ Unoh Labs: 人見知りな技術者のプレゼンの準備方法

    Keita です。 先日、enNetForumという所で、Wikiについてお話させていただきました。 僕は、どちらかというと、引きこもりたい人間で、人前で話しをするのは苦手です。 しかも、今回は、Wikipedia創始者 Jimmy Donal Wales氏 の後で話すということで大変緊張しました。 しかし、当日は、わりとちゃんと準備したおかげか、それなりに、ちゃんとお話できたかと思います。 そういうわけで、僕のような人見知りが、どのようにして、プレゼンを準備したかを今回はお話させていただこうと思います。 ネタを蓄積する 今回、僕は、自分のサーバのWikiにテーマである、Wikiの社内共有のネタを大量に蓄積しました。 この作業はお昼休みや帰宅したとき思いついたときにちょこちょこ書き足していました。 内容は、まとまっていなくてもとりあえず書いていくのがいいようです。 とにかく思いついた

  • ウノウラボ Unoh Labs: ローカルPCへ大容量データを保存するJavaScriptライブラリ「save2local.js」

    こんにちは。さかとくです。 JavaScriptでローカルPCにデータを保存するライブラリ「save2local.js」を作りましたので公開します。 通常、JavaScriptではセキュリティが考慮されているため、データをローカルPCに保存するには、Cookieを利用します。 しかし、Cookieを利用する場合は、それほどたくさんの情報を保存することができません。 そのため、ゲームのセーブデータや、フォームに記入したデータなどは、セッションの仕組みを利用してサーバーに保存するのが一般的でした。「save2local.js」ライブラリを使えば、サーバーを利用することなく、ローカルPCに任意のテキストを保存できます。 今回ローカルPCにデータを保存するために、Flashの機能を使います。Flashには、SharedObjectと言ってローカルPCにデータを保存する機能がついています。

  • ウノウラボ Unoh Labs: Web APIとしてのWebDAV

    komagataです。 社内の勉強会でWebDAVについて発表したので資料を公開します。 (この資料は少し言い過ぎなので2割増しで聞いといて下さい) [<< Prev Next >>] WebDAV.pdf(741KB)

  • ウノウラボ Unoh Labs: ウェブデザインに不可欠なツールサイトの紹介

    naoyaです。 今日は最近見つけました”ウェブデザインに不可欠なツールサイト”を紹介します。その名前も「Web Design Tools - thePeoplesToolbox」です。このサイトはウェブデザインの使われるさまざまなサイトをまとめたサイトです。 それでは、さっそく使ってみることにしましょう。 まず、最初にユーザ登録した方が自分のツールボックスにできるので登録してみましょう。 登録するには、右上の"login"リンクから、必要な情報を入力するだけでその場で登録完了となります。"Enter Code"には、"Authentication Code"と同じ文字を入力します。 ウェブデザインサイト1 posted by (C) フォト蔵 ログイン後、"home"リンクからトップページを表示すると、ウェブデザインに使えるサイトの一覧がカテゴリ別に表示されています。 この中から

  • ウノウラボ Unoh Labs: Web2.0エンジニアのためのJavaScriptリファレンス集

    こんにちは、hideです。 近年のAjax技術の台頭により、Web2.0時代のエンジニアにとってJavaScriptは欠かすことのできない技術となってきました。しかし、2000年頃のWeb1.0時代には低機能な言語として認知されていました。このことは、"Rediscover the JavaScript"と題された次の文章に良く表れていると思います。 10 年。世界が JavaScript の真の実力を発見するのに要した時間である。 1995 年、Netscape 社の Brendan Eich により開発・設計された JavaScript は、「世界で最も誤解されたプログラミング言語」などと呼ばれもした、ともすれば不遇とすらいい得る歳月を経て、あたりのそこここに満ち充ちていた「Web の旧来的なインタラクションの窮屈さを革命したい」という思いによって、ふたたび表舞台に招来された。(S

  • ウノウラボ Unoh Labs: Web2.0時代のJavaScriptで注意することを5つほげほげ

    Keitaです。 Ajaxが流行していますが、まだ、僕個人では実装レベルまでライブラリの蓄積が追いついていません。 各種ライブラリがWebフレームワークレベルでそろったら(そろえたら)使いたいなと思っていますが、なかなかそこまで手が出てないのが現状です。 とはいえ、社内でもDojoや、MochiKitなどのフレームワークがはやりつつあるので、そろそろつかいたいかなーと思いセキュリティを含めたリスクを調査しています。 とはいえ、まだまだ勉強中の身であるので、突っ込みいただけると助かります。 (1) クロスサイトスクリプティングに注意する 基的な対策は、サーバサイドのときと同じく、描画を行うタイミングでエスケープ処理を行うことになります。 だだし、HTTPヘッダではなくBodyにエスケープしてない文字列をおいた場合にはAjaxではなく直接アクセスすると、XSSになる場合があるので注意が必

  • ウノウラボ Unoh Labs: JavaScriptのバグを退治する3つの手法

    こんにちは、さかとくです。今日は、世界中のプログラマーを悩ませているバグを退治する方法について考えてみたいと思います。今回は、特に、JavaScriptのバグを退治する方法にスポットを当ててみたいと思います。 そもそも、バグ(Bug)とは、正しくプログラムが動かない状態、不具合のある状態です。 書き間違いや、なんらかの勘違いが原因であることが多いです。簡単なつづりミスならば、構文エラー(Syntax Error)によって、すぐに間違いが見つかります。しかし、簡単にバグの原因が特定できないことも多くあります。そんなときはどうしたら良いでしょうか? 以下の3点から考えてみます。 ・具体的なデバッグ方法 ・バグを予防する ・精神論 具体的なデバッグの方法 どんな天才的なプログラマーでも、間違いの1つや2つは犯してしまうものです。一度もバグに遭遇せずプログラムを完成させることはできません。「

  • ウノウラボ Unoh Labs: php で 簡単にデバッグする方法

    尾藤正人です。 Ruby で debug する7つの方法 Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 ということなので、僕が PHP でやってること書いてみたいと思います。 preprint_r() print_r() とか var_dump() だと HTML の中に出してブラウザで見るときにすごく見にくくなります。 そこで preprint_r() という関数を定義して、<pre></pre> で囲んで見やすいように出力しています。 function preprint_r(&$var, $title = '') { echo _preprint_r($var, $title); } function &_preprint_r(&$var, $title = '') { if

  • ウノウラボ Unoh Labs: 次世代のデータ記述言語(かも!)JAXON

    ひらっちです。 Webプログラミングではどのようなデータが送られてきても正常に動作するよう、入力データの検証が欠かせません。一方で、ユーザがフォームに入力したデータを、JavaScriptを使ってその場で検証して表示できれば、ユーザビリティの向上につながります。 この二つの機能は、データの検証についてはほんんど同じ機能です。しかし、多くの場合、サーバサイドではJavaScriptとは違う言語でプログラミングされているので、共通のコードにすることはできませんでした。 今回私が作成したものは、プログラミング言語に依存しないかたちで検証方法を書くためのライブラリです。まだ機能が絞り込まれていなかったり、足りなかったりしますが、一応動く形になりましたので公開します。 この機能を実現するため、最初はJSONを使っていました。しかし、JSONはある程度を超えた複雑な表現をしようとすると、見た目に煩雑に

  • ウノウラボ Unoh Labs: linuxで○○が壊れた時の対処法

    こんにちは satoです。 障害の多くの場合はハードディスク障害ですが、実際障害が起きた際に、どのように復旧するかをケース別に書いてみようと思います。 hdd のセクタが壊れた /var/log/message等に kernel: hda: dma_intr: status=0x51などど表示されているとハードディスク障害の可能性が高いです。 badblocks -vs -o hda1.sector /dev/hda1 (かなり時間がかかる)とやると 不良セクタが書き出されたファイル hda1.sector ができます。 fsck -l hda1.sector /dev/hda1 とやると不良セクタを使用しないようになります。いずれにしても早めの交換をお勧めします。 memoryが壊れた http://blog.miraclelinux.com/mita/cat218683/index.

  • ウノウラボ Unoh Labs: 海外経験のない典型的理系人間が日常会話レベルの英語を話せるようになるまでの道のり

    尾藤正人です。 最近僕のアメリカ人の友達がオフィスに来たときに英語で会話をしてたのですが、ようやく僕が当に英語が話せることが証明できて存在価値を認めてもらえるようになりました。 昔は理科数学しかできない典型的な理系人間で、高専に進学したため受験戦争の荒波から逃れ、英語レベルは中学生止まり。海外に一度も行ったことがない(パスポート持ってない)状態で外国人と普通に会話ができるまでに成長することができました。 英語は読めるんだけど喋るのは苦手という方は多いと思います。なので、僕がどうやって英会話力を見につけたかを紹介したいと思います。 日語を使わない これが一番大事です。英和辞典は捨ててもいいぐらいです。日人は日語を勉強するときには日語を使います。英語を勉強するときには英語を使えばいいのです。そもそも言語っていうのは一対一で対応するものではないので、外国語を使うことに無理があります。英

  • ウノウラボ Unoh Labs: 最強のIDEを追い求める Eclipse + Aptana + TruStudio (+RadRails)

    こんにちは、ジュンヤです。 30歳を超えたあたりで急速に脳が老化し始め、物事をすぐ忘れるようになってしまいました。歌手やタレントの名前なんかはなかなか出てきません。若いウノウの他のつわものプログラマーはviやEmacsでコードを書いていたりしますが、僕の場合は、補完機能が優れたIDEでないともうだめです。 というわけで、補完機能が充実した最強の IDE を追い求めてみました。環境は Windows XP です。 Eclipse 最近 Aptana という Web エディタが良いと聞いたので、まずはこれから用意します。Aptana は Eclipse をベースに開発されていて、スタンドアロン版と Eclipse のプラグイン版があるのですが、他にも使いたい IDE があるので、Eclipse をまずインストールした上で、プラグインで拡張していくことにします。 Eclipse はeclipse

  • ウノウラボ Unoh Labs: ユーザビリティ・ガイドライン

    sashaです。 naoya君が前回のエントリーで振ってくれたように、ジョエルテストの話から、ユーザビリティ・テストをどこまで行うかという話になりました。 私が今まで見たユーザビリティ系の記事の中には、追求したら悟りが開けそうな、限りなく奥深いものもありましたが、適度に深く、満遍なくカバーしているユーザビリティ・ガイドライン(原文)を見つけ、以降これを参考にしています。少し前に翻訳しましたので、今日はそれをご紹介いたします。 一般ユーザー向けのWebサービスでは、全部のチェック項目が該当するわけではありません。個人的には、各項目のスコアより、「スコアの説明」という欄を重視しています。現状では何が問題であり、どう解決するべきなのか、そういった思考のプロセスが、「ユーザーのことを思うこと」だと思うのです。 いま、ウノウではフォト蔵のデザイン見直しを行っております。私たちのデザインを省み、

  • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ソフトウェア編)

    尾藤正人です ラボブログではウノウのエンジニアで1日1人1エントリ(早く書くのはあり)で書いてます。おかげさまでウノウも順調にエンジニアの数が増えて、僕の順番に回ってくるのが少しずつ遅くなってきました。でもまだまだウノウではエンジニアを大募集中です!!我こそはと思う方はぜひご連絡ください。 前回のベンチャー流サーバ構築のススメ(ネットワーク編)ではネットワーク周りについて書きました。前回のエントリで言ったように、今回はソフトウェア周りのことについて書きたいと思います。 ソフトウェア周りで重要なのは、同じ構成にする、これにつきます。web サーバにだけ apache をインストールしたりとか、DB サーバにだけ MySQL をインストールしたりだとかいうことはしません。全てのサーバに同じパッケージ、同じプログラムをインストールします。それによる管理コストの軽減ははかりしれないものがあります。