兼業主夫 ときどき 指揮者 のち ギーク?

2008-12-05

Yahoo! Pipesに挑戦

 私が中学生の時だから、つまりはパソコン通信時代からお世話になっているアマチュアライターズクラブ(AWC)というサイトがある。このサイトはBIGLOBEの前身であるPC-VANにあった「アマチュアライターズクラブ」というSIG(フォーラム)がそのままWeb上に移行してきたものだ。

 PC-VAN時代の遺産が生かせるようにとテキストブラウザでの巡回に対応していたり、フォーマットをPC-VAN時代のままにしていたりと、私にとっては何かと「懐かしい」場所である。

 しかし懐かしく歴史があるがゆえにRSSの配信を行っておらず、RSSリーダーを中心にWebを巡回している私にとっては「つい訪問し忘れる」サイトとなっていた。

 そこで今日、かねてから気になっていたYahoo! Pipesを使ってRSSを配信してみる事にした。

 実は正規表現がからきし駄目なのでかなり苦労したが、決してスマートとはいえない方法ながら何とかそれっぽいものを作ることができた。所要時間約2時間。正規表現を知っていてYahoo! pipesを数回使ったことのある人ならきっと30分作業だったことだろう。(もっと短いかも)

 ちなみにこのYahoo! pipesはYahoo! Japanにはないので、別途yahoo.comのアカウントを取得する必要があるのでご注意を。

作業記録*1http://pipes.yahoo.com/pipes/pipe.info?_id=qAkloYvC3RGng0X36icw5g

出力RSS: http://pipes.yahoo.com/pipes/pipe.run?_id=qAkloYvC3RGng0X36icw5g&_render=rss


<手順メモ>

  1. 左にあるメニューから「Sources」をクリック → 「Fetch Page」の右側にある+をクリック
  2. 「URL」にRSS化したいURLを入力
  3. 「Cut content from〜 to〜」に、どこからどこまでを処理の対象にするかを入力
  4. 「split using delimiter」にデータの区切りとなる文字を入力
  5. 左にあるメニューから「Operators」をクリック → 「Rename」の右側にある+をクリック
  6. 「item.content」を「title」と「description」にコピー(Copy as)。また、最後に「link」にリネーム(Rename)。
  7. 左にあるメニューから「Operators」をクリック → 「Regex」の右側にある+をクリック
  8. 正規表現を使って、「title」「description」「link」を適切な文字列に編集
  9. 右上にある「Properties」をクリック → 「Name」と「description」を入力 → OKをクリック
  10. 右上にある「Save」をクリックして保存
  11. 右上にある「Properties」をクリック → 「Run Pipe」をクリックして結果を確認

 基本的にはこんな感じ。

 ちなみに「Fetch Page」や「Regex」のウィンドウ(?)をクリックするとタイトルバー部分がオレンジ色になり、画面下の「Debugger」に今現在データがどのような感じになっているかを確認する事ができる。ここを見ながら項目をいじると良いだろう。

*1:画面左下の「Edit Source」をクリックすると内容を確認できる、はず

2008-11-22

DropboxでJavaScriptが動くという話

 .jsファイルはテキストとして表示されるだけなのだが、HTMLファイルをきちんと解釈するなら<script>で記述したJavaScriptは動くのでは? と思って検証。

<html>
<head>
  <script language="javascript">
    document.write('aaa');
    window.alert('bbb');
  </script>
</head>
<body>
  <p>Test</p>
<body>
</html>

 このファイルを共有してURLにアクセスすると、見事なまでにAlertBoxが表示され「aaa」も出力される。

 私はJavaScriptに詳しい方ではないのだが、これを利用するとDropboxのCookieが読み出されて、自分のDropbox内にあるファイルを勝手に読み出されてしまう可能性があったりするのではなかろうか?

 一言で言えばクロスサイトスクリプティング(XSS)が心配。 (最初からそう言えよ)。

 詳しい人の検証求む。


【追記】

 西村さんが「勉強会で Dropbox を検証」という記事でDropboxでの検証用ファイルを公開してくれたので、興味のある方はチェックを。

 この検証用ファイルはAlertBoxが1つ出て、document.writeで少量のテキストを書き込んでいるだけだが、悪意のある人が何かを仕掛けていたとしたら危険なので、知らない人の公開URLはうかつにクリックしない事をお勧めする。