5日から都内で開幕したセキュリティカンファレンス「Black Hat Japan 2006 Briefings」の初日、「外部からのイントラネット内のWebサイトハッキング」と題し、WHITEHAT SECURITY創業者兼CTOのJeremiah Grossman氏が講演を行った。米国のBlack Hatでの講演と同じものなので、そちらも参考にしてほしいが、ここでは実際の攻撃手順を紹介したい。 Jeremiah Grossman氏 Grossman氏の講演のポイントは、ファイアウォールで守られているはずのイントラネット内にある機器やサービスのWebインタフェースが攻撃対象になりえる、というもの。 プリンタやファイルサーバ、開発マシン、IP電話、グループウェアなどがその対象となり、設定に使うWebインタフェースはイントラネット内からしかアクセスできないことが前提だ。 しかしGrossm
2006年10月02日21:00 カテゴリLightweight Languages perl+javascript - Livedoor地図情報のルート検索を簡単に ルート検索に関しては、今のところlivedoorのそれが一番よく出来ているように思います。 [N] livedoor 地図情報「ルート検索詳細設定」が良い感じ 検索に利用したlivedoor 地図情報「ルート検索詳細設定」が便利だったのでご紹介。 ただ、Livedoorに限らず、ルート検索は出発点と到着点の設定が結構面倒に感じていたので、こんなHackを用意してみました。 要は「 404 Blog Not Found:javascript + perl - 住所でGoogle MapにアクセスするHack」で紹介したgeocoding.jpで地名→座標変換をして、その座標を使って状態遷移なしで住所指定をしてしまおう、というも
ひらっちです。 Webプログラミングではどのようなデータが送られてきても正常に動作するよう、入力データの検証が欠かせません。一方で、ユーザがフォームに入力したデータを、JavaScriptを使ってその場で検証して表示できれば、ユーザビリティの向上につながります。 この二つの機能は、データの検証についてはほんんど同じ機能です。しかし、多くの場合、サーバサイドではJavaScriptとは違う言語でプログラミングされているので、共通のコードにすることはできませんでした。 今回私が作成したものは、プログラミング言語に依存しないかたちで検証方法を書くためのライブラリです。まだ機能が絞り込まれていなかったり、足りなかったりしますが、一応動く形になりましたので公開します。 この機能を実現するため、最初はJSONを使っていました。しかし、JSONはある程度を超えた複雑な表現をしようとすると、見た目に煩雑に
JavaScriptブラウザの文字サイズの変更の度合いを調べる。文字サイズを大きくしていると、1.7などの数値が返る。 function getFontMagnification(){ var elmSample = document.createElement('span'); elmSample.style.fontSize='100px'; return MochiKit.Style.computedStyle(elmSample, 'font-size').match(/^\d+/)[0]/100; } marginやheightなどの他のプロパティとは違い、font-sizeはユーザーが変更する可能性が高いため、スタイルのプロパティの取得が難しい。あるエレメントに設定されているフォントサイズを知るために、getComputedStyle/currentStyleのフォントサイズを
2006年09月28日02:00 カテゴリLightweight Languages javascript - DOMMakerで楽々DHTML DHTMLは便利なものだが、DOM関連の関数でHTMLを「描く」のは、あまりに面倒だ。 たかだか <a target="blank" href="http://blog.livedoor.jp/dankogai">404 Blog Not Found</a> とやるのに、 var a = document.createElement('a'); a.setAttribute('target', 'blank'); a.setAttribute('href', 'http://blog.livedoor.jp/dankogai'); a.appendChild(document.createTextNode('404 Blog Not Found'
2006年09月27日02:00 カテゴリLightweight Languages javascript + perl - 住所でGoogle MapにアクセスするHack + これとこれがそろえば、ここまで来るのは時間の問題というものです。 問題点 Google Map APIでは日本のGeocodingに(まだ)対応していないため、いちいち緯度と経度を調べる必要がある。 解決策 「Geocoding API - 住所から緯度経度を検索」を使って住所から緯度と経度を調べればいい でもXMLではクロスドメイン問題がある ならばJSONPへの変換サーバーを用意すればいい あとはその結果をGoogle MAPに反映させればいい geocoding.jp -> JSONP 変換サーバー これはXML2JSONPを応用すればあっという魔。 gcjp2jsonp.cgi gcjp2jsonpのテス
CJTK - JSONPとJavaScriptを使ったテンプレートキット作った JSONPなどでデータを取得して、HTML中の任意なAttributeにマクロを埋むタイプのテンプレートキットを作りました。 別にJSONPじゃなくても、staticもデータ構造を定義する事も出来るし、Ajaxサポート書けばAjax経由でデータを取得できます。 マクロ展開はDOM探索で色々処理をしています。 Model = JSONP 、 View = DOM って感じかも。 他にもJKL.Hinaや、JSmartyなどがあります、大きな違いは専用構文を利用しないでテンプレート展開が出来たりと、かなりシンプルです。 他の特徴は ・DOM操作のみでテンプレート展開 ・JSONP対応 ・テンプレート用のデータ領域を用意する事無く、HTMLに直接テンプレートを記入出来る ・データ展開先を設定不要。class要素などか
Prototype.js や MochiKit や jQuery や dojo こういう便利なライブラリがたくさん出てきてとても便利になりました。 でもそのライブラリ本当に必要? たしかに、グループワーキングを行うにはこれらのライブラリは必須だと思います。 でも、ちょいスクリプトを作るのに .bind(this) や $ や each や Event.observe が必要でしょうか。 いささかオーバスペックな気がします。 実際に「このツール Prototype.js 必須かよ。こっちは MochiKit で作ってるのにぃ」とかってことも多々あります。 あれを使うためにあれとこれを読み込んで、これを使うためにこれも必要だな。こんな感じだとサイトはどんどん重いものになってしまします。。。orz そこで、原点回帰です。 ちょっとしたツールでライブラリ使うのはやめようよ!何も使わなくても Jav
2006年09月22日06:00 カテゴリLightweight Languages javascript - prototype HateBJSON これでやっと fetch4js みたいな力技を使わずに、Javascriptのみではてブのデータを再利用できますね。 はてなブックマークエントリー情報取得APIとは - はてなダイアリー http://b.hatena.ne.jp/entry/json/任意のURL*1 を GET リクエストで送信することにより、JSON 形式でデータを取得することができます。 というわけで、はてブのJSONを取ってくるPrototypeを。 基本的な使い方はこんな感じ。 var hatebjson = new HateBJSON('parse_hatebjson'); function parse_hatebjson(json){ // ここでjsonを
2006年09月22日02:30 カテゴリLightweight Languages javascript - event.target で IDを省略 DHTMLの世界では、DOM objectにはみんなIDをふっておいて、document.getElementByID(id)でobjectを取得してそれをいじくるというのが王道ですが、いじくる対象がイベントを発生させたobject自身しかないならIDは省略できるいうお話。 よくあるのは、 function foo(id){ // あるいは // function $(id){ return document.getElementById(id) } // を定義しておいて$(id)を使う var elem = document.getElementById(id); // ... } とやってから <a href="#" id="bar
この文書は ECMA-357 ECMAScript for XML (E4X) Specification 2nd edition を訳者 (nanto_vi) が私的に訳したものであり、Ecma International またはその他の関連団体・個人とは一切関係ありません。 この文書は正規の仕様ではありません。正規の仕様に関しては Ecma International から PDF で公開されています。 翻訳の内容については保障しません。この文書の利用によって発生したいかなる損害についても訳者は責任を負いません。 翻訳上の誤りなどがあれば訳者 (ブログまたはメール <nanto (at) moon.email.ne.jp>) までご連絡ください。 Standard ECMA-357 2nd Edition / December 2005 序文 2002 年 6 月 13 日、BEA S
25日土曜日に福岡Rubyコンテンツセンターで久しぶりのRBCの勉強会が開かれました。 福岡CSKさんのご協力で開発中の製品を使わせて頂きました。 http://enzi.cc/ この製品の説明は上のサイトにお任せするとして、僕個人的にはハードウェアを触るのは20年ぶりで、抵抗の読み方とかコードの色の話は「あーそんなんあったよね、中身覚えてないけど」という感じのダメっぷりです。かろうじてLEDとか抵抗の役割くらいは分かる感じ。 そんな感じなので、いきなりボードを渡されても何をしたらいいのか分からんとなってしまいましたが、福岡CSK三牧さんが最初にLEDを光らせる「LEDチカチカ」略して「エルチカ」のデモを見せてくれたので、まずはそれを真似することを目標にしました。 まずはプログラムなしで、LEDを点灯させる配線をつないだだけで、光った「おー」と喜ぶ初心者っぷり。 次は、配線を変えてデジタル
Crossfade DIV Demo For a long time, people looking to introduce animations to their website needed to resort to a third-party plugin such as Flash or Java applets to get the job done. JavaScriptとCSSを使ったクールなメッセージBOXのデモ。 ライブラリはscriptaculousを使用。 スクリプト自体は非常にシンプルで、単純にsetIntervalでタイマーをまわしてscriptaculousのEffect.fade / Effect.appear で各DIVを切り替えているだけのようです。 デモサイト上のソースをみれば、プログラミングの知識がない方でも実装できそうです。 WEBデザイン時のちょ
The Mad4Milk teamは11日(米国時間)、JavaScriptライブラリ集「mootools」を公開した。mootoolsはコンパクトにまとめられたJavaScriptライブラリで、モジュール形式、オブジェクト指向で開発されている。 mootoolsはThe MIT Licenseのもとで提供されているオープンソースソフトウェア。Safariで動作確認がとられているほか、IE 6/7、Firefox、Opera、Caminoでの動作が確認されている。特にFirefoxで動作する場合にすぐれた実行速度が実現されるという。 mootoolsは次の15のJavaScriptライブラリから構成されている。ネイティブスクリプトはメインライブラリに依存し、アドオンはメインライブラリとネイティブスクリプトに依存している。 メインライブラリ Moo.js (必須) ネイティブスクリプト Fu
The JsTester teamは11日(米国時間)、JsTester 1.2を公開した。JsTesterはJavaで実装されたJavaScriptコードバリデータ。JUnitに用意されているAssertのようなアサートメソッドを提供しているほか、Remedial JavaScriptにおいて記載されているバリデーションを実施することができる。もちろん、自身でバリデーションを規定し使うこともできる。 JsTesterはApache License Version 2.0のもとで公開されているオープンソースソフトウェア。1.2における主な変更点は次のとおり。特にTestNGとJUnit4への対応が注目される。 TestNGおよびJUnit4サポートの追加 HowToの更新 FAQの更新 JsTesterでは試験をする方法として、JsTestCaseを継承する方法とJsTesterを利用する
未だにちょくちょくみてしまうprototype.jsの簡単なリファレンスであるDeveloper Notes for prototype.jsの日本語版とThe Document Object Model in Mozillaで配布されているGecko DOM ReferenceのZIP version (古い奴)をHTMLヘルプにしてみた。HTMLヘルプはちょっと作ってみちゃったりすると、HDD上にあるありとあらゆるHTMLのドキュメントをHTMLヘルプにしたい欲求に駆られてしまう・・・のは僕だけですか、そうですか。 prototype.jsの開発メモ Gecko DOM Reference prototype.jsの開発メモの方はHTMLに手を入れて、メソッドやプロパティにidを振り、キーワードでジャンプできるようにした。HTMLヘルプ向けにCSSもちょっと調整。チェックしきれてない説
このブログを動かしているブログエンジンですが、地味にマイナーバージョンアップしていっています。 今回は、最近大手検索エンジンが軒並み対応を表明しているサイトマップファイルへの対応と、ブログについたコメントをウォッチしたい人向けにコメント一覧の RSS 出力も追加しました。 このブログのサイトマップファイル(sitemap.xml) このブログのコメント一覧 RSS 今までこのブログには、「ブログの全エントリ一覧」というページがあって、そのページ経由で上手く検索エンジンにインデックスされることを期待していて、実際、ほぼすべてのページがきちんとインデックスされているようでした。 しかし、私のブログのエントリ数が1000件を越えたあたりから、Google が全エントリ一覧のページをクロールする際にタイムアウトしているというレポートが Google ウェブマスターツールの方に表示されるよ
2006年09月06日16:15 カテゴリLightweight Languages ソースを貼付ける50の方法 いえ、50もありません。Paul Simonの歌のもじりです、はい。ちなみに6曲目。いいんです。Paul Simonだって50も紹介してないんですから。 i d e a * i d e a - ブログにコードを貼り付ける方法で悩むの巻 昨日のJavascriptの記事を書いていて思ったのですが、みなさんコードをブログに貼り付けるときってどうしているんですかね。<textarea>で囲む 身も蓋もないけど、一番実用性が高いのがこの方法かも知れません。 HTMLの精神からいくととんでもなく堕落した方法ですが、 コピペがしやすい たいていのブラウザーで、いちいちソース中のtagを実体参照化しなくてもちゃんとrenderされる という実においしい特典があります。実は一つ前のentryで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く