犬ターネット

Archive : 2011年08月

ライブだった

昨日は ioadnup@fa で久々のライブだった。主催者のラジオの様に、そして見にきてくださった皆様、皆様っつうか、よしだ、ありがとうございました。

セットリスト。

ioadnup@fa の場合「セットリスト = 楽譜」なんだけど、3年後にこれ見てもきっと全然思い出せないんだろうな。曲名が「あれ」だし。

そうそう、@dubm おめでとうございました。


Apache Killer の件を PHP で確認

こりゃ対応しなくちゃな、という感じのApacheの脆弱性が公開された。

Apache HTTP Serverの脆弱性を突く「Apache Killer」――パッチは48時間以内にリリース予定

以下のPHPスクリプトで、脆弱性があるかどうか確認できる。HEAD HTTP/1.1 で Range 送って、レスポンスヘッダに「Partial」が含まれていたらNGっていう判定。

※ オリジナルは killapache.pl っていうコードなんだけど、そこの判定ロジックをPHP用に書き換えた。
Request-Range を送っても同様の脆弱性が生まれるので、検証コード書き換えた。

いくつかのサイトで試してみたけど、割と対策済み(WAFで弾いてるのかもしんないけど)。とはいえ対策されてないサイトもあったので、以下参考にして対応する必要がある。

Advisory: Range header DoS vulnerability Apache HTTPD 1.3/2.x (CVE-2011-3192)

具体的には、mod_headers 有効にして、httpd.conf に以下書いて対策。

--- 追記 ---

ここに詳しく載ってる。

CVE-2011-3192 Range header DoS vulnerability Apache HTTPD 1.3/2.x

セキュリティ界隈の重鎮、徳丸さんのとこにも記事あがってます。

Apache killerは危険~Apache killerを評価する上での注意~

--- さらに追記 ---

わかってると思うけど、静的コンテンツに対して実行しないと意図した結果にならないと思う。

例えば、リクエスト先が php とか cgi が出力したものだとダメ(「大丈夫!」って判定される)な場合がある。

.gifとか.jsとか.cssとかに対して実行、確認すべき(上記でrobots.txtを指しているのはそういった理由から)


OracleServiceORCLを起動しろハゲ

検証のため開発マシンに Oracle11g いれたんだけど、裏でサービス動きまくってOS不安定になったので、一旦Oracle*サービス全部停止。

んで、sqlplus で Oracle の DB つなぐのにどのサービス動かせばわかんなかったので、とりあえずそれっぽいサービス起動 ⇒ sqlplusで接続を試した。

OracleServiceORCL 起動
↓
sqlplus sys/password as sysdba
↓
接続できた

はい一発目で終了... ということで OracleServiceORCL を起動すればよかった。

他のサービスはしらん。とりあえず create table と create view だけ動けばいいんだ!オラオラ!


出会い系サイト

gaji というバンドが好きで、都内でやるライブはほとんど見に行って、(僭越ながら)自分のバンド企画に出てもらいたくて音源渡したりして、でも2005年に解散しちゃって。

で、ちょっと前に「gaji」でネット検索していたら、ギタリストの君島さんがスタジオを経営していることが判明、ツイッターもやっていたのでフォロー。

そして今日。twitterでこういうやりとりが発生した。

mgng 君島さんはバンドやんないのかなあ、スタジオワークだけなのかなあ
tsubamestudio @mgng うん、当分は。
mgng @tsubamestudio そうですかー…復活たのしみにしています!
tsubamestudio @mgng ありがと。んで、こいつ何物?→@mgng2
mgng @tsubamestudio そいつは @mgng のタイムラインを適当にかいつまんでつぶやくbotです…
tsubamestudio @mgng そいつ、めっちゃ気になってます。
mgng @tsubamestudio 話しかけると返事しますが、まともな受け答えできないバカbotなので気にしないでください...
tsubamestudio @mgng ていうかお久しぶりです!
mgng @tsubamestudio すいません誰かと勘違いしてたりしませんか...?(いや、gajiずっと好きだった自分としてはお久しぶりですと言われてすんごいうれしいんですけど)
tsubamestudio @mgng あれ?昔CDもらいませんでしたっけ...?
mgng @tsubamestudio むかし君島さんに音源渡したと思います、バンド名は鉄かぶと。
tsubamestudio @mgng ですよね。鉄かぶと! 当時からmgng名義でしたよね。
mgng @tsubamestudio うわー!覚えててくださって嬉しいです。最初にgaji見たのがNHKライブビート収録(w/REACH?)で、それ以来ずっと君島ギターの虜でした。
tsubamestudio @mgng 光栄なんて恐縮です。ある種独特な人については僕はわりと覚えがいいので、ご人徳です。またいつかどこかで!
mgng はうはう

君島さんは、自分が尊敬するギタリストTOP3のうちの1人でして、その佇まいから出す音から演奏スタイルから機材へのこだわりまですごい好きで、こうして(インターネット上ですが)お話することができてなんかもう今日は仕事にならなかった。しぬ。

ちなみに、自分が尊敬するギタリストTOP3は、君島さん、いまみちともたか、そして、あれ、誰だろ...まあいいや、3人目は欠番にしておく。

うへー


innerHTML いやだなあ

ちょっとした変換ツールが必要だったので、HTML+javascriptでテンプレ作ったんだけど、

<div id="template" style="display:none;">
<a href="{#URL#}">{#NAME#}</a><br />
</div>

これ、div#template の中身を innerHTML で読み込むとこうなる。

alert( document.getElementById('template').innerHTML );
↓
<a href="%7B#URL#%7D">{#NAME#}</a><br>

hrefが勝手にURLエンコードされるし、<br /> が <br> になる。

ちなみに、textarea & 実態参照で書いて、

<textarea id="template" style="display:none;">
&lt;a href=&quot;{#URL#}&quot;&gt;{#NAME#}&lt;/a&gt;&lt;br /&gt;
</textarea>

valueで取り出すとうまくいく。

alert( document.getElementById('template').value );
↓
<a href="{#URL#}">{#NAME#}</a><br />

挙動をちゃんと把握しておかないとハマる...


ライブやるます!

久々に ioadnup@fa でライブやるます!出番は2番目14:35~!

ATROCITY EXHIBITION Vol.11
2011.8.28(sun)
Studio OUR HOUSE Ast
13:30 開場 14:00 開演
入場料 1000円(持ち込みOK)

ハレルヨ
ioadnup@fa
堕空
LIVING ASTRO
マキコアレジー
HUH
roomdiners
スープじゃないよ
川口雅巳ニューロックシンジケイト
ラジオの様に

ioadnup@fa とは!

dubmmugng による電気ギターユニット!通称イオード!
たまにドラムがはいったりする!
myspace で試聴できるよ!

今回の ioad はうるさめでいこうかと思っています!思ってるだけ!ノープラン!

どうぞお気軽にお越しください!前売りチケットとかないのでいきなりお越しください!


夏休み終わったしぬ

震災以来はじめて茨城の実家帰った。築80年くらい経ってるので心配したけど、おおきな被害がなくてよかった。

裏庭の秘密基地も健在。もうこれ以上壊れようがないか。

サギが飛び立ってるように見えるその姿から、サギソウというらしい。

帰省すると必ず家族でいく串焼き屋。もうかれこれ20年以上のつきあい。

今度は新潟の実家へ。

寿司。

ビール。

ビールと茶豆。

イタリアン。

新潟出る前に日本海行ってきた。


本人バレ

twitterのbioに本名(つっても下の名前)+住んでるところ(つってもxx市レベル)をさらしつつ、4sqで現在地特定ツイートした結果「もしかしてxxxxさん?xxxx中学校の?」といった具合に本人バレキメた人がいて、先ほどtwitterに鍵かけたようですね、インターネット怖いですね


ちょっくら帰省

今年も帰省だけで夏休みが終わるなあ...


javascriptでパスワード妥当性チェック

パスワードルールがこういう場合、

  • 半角英数混在8文字以上であること
  • アルファベットは必ず大文字と小文字が含まれること

正規表現で書くとこうなる。

function check1( pass ) {
  return /^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,}$/.test( pass );
}
check1( 'abcdefg1' ); // false
check1( 'Abcdefg1' ); // true

ただし、IE6 と IE7 だと動かない(全部 false が返ってくる)。なのでクロスブラウザ対応させるにはきったないけどこんな感じで書くしかない。

function check2(pass){
  return pass.length >= 8 && /[0-9]/.test(pass) && /[a-z]/.test(pass) && /[A-Z]/.test(pass);
}
check2( 'abcdefg1' ); // false
check2( 'Abcdefg1' ); // true

処理の中身はわかりやすいっちゃわかりやすいけど。

あー、IE6死んでほしい


twitter公式からアップロードされた画像情報をAPIで取得するには

twitter公式から画像アップロードできる機能がついたんだけど、

アップロードした画像リンクが短縮URLになっているので、サムネイル展開するにはちょっと不便。

でも、API 叩く際に include_entities=true パラメータをつけてあげると、レスポンスに entities っていうつぶやき内メタ情報をまとめたものが追加され、もし公式から画像アップロードした場合は、

entities->media[0]->{
  type : "photo",
  media_url : "http://p.twimg.com/AWjWk7ZCIAEqtYs.png",
  media_url_https : "https://p.twimg.com/AWjWk7ZCIAEqtYs.png",
  ...
}

のように media にアップロードした画像情報が入ってくる。あとはこれを適当に加工すればOK。

自分で作ったクライアントに組み込んでみた。うまく表示されているようだ。


あとで買うリスト


白木屋なう

のように、自分がどこにいるかわかるつぶやきをtwitterで連投している人をよく見かけるんだけど、ストーカーはtwilog(がなければAPI)からつぶやきを収集、位置情報と地名から行動パターンを割り出し、しかるべきタイミングであなたの前に現れたり自宅に侵入したりします。

ていうフィクションだれか書いてたっけか


スガシカオのアナグラムをgoogle検索してもしかしてが出るパターン

スガシカオ

ガシカオス

シカオスガ

カオスガシ

オスガシカ → もしかして: スガシカオ

スシガカオ

カオガスシ

オスシガカ

オカシガス

シカガオス → もしかして: シカゴ

スシガオカ → もしかして: すしが丘


pixivの件とパスワードルールについて

PixivのシステムによるユーザID漏洩とパスロックの未実装(現在実装済)とadminツールについて

pixiv盛り上がってたみたい。まあ、アカウント名の件はどうでもいいし、アカウントロックは実装されたようだし、鎮火するまでの速度はそこそこ速かったと思う。admin画面の件も一部が憶測で言ってるだけで、はたして本当にクラックされたのかどうか。公式発表ないとわかんないけど。

でも、pixivの運営体制ってどうなってんの、ちゃんとセキュリティ監査してんの、という意味ではいろいろアツい話題だった。

-------

話は変わるけど、もしなんらかのサービスで自分のアカウントが盗まれた場合、他のサービスでも同じID/PASS使ってたら雪崩式に全部終了する。それは同じID/PASSを設定してる自分自身に問題がある。

自分の場合、アカウント取得する場合はなるべく同じIDで統一しているけど、パスワードは全部違うものにしている。

パスワード憶えきれないだろって言われるけど、以下のパスワードルールを適用してるので忘れることはない。

サービス名 + ID + 自分しかしらない固定文字列

例えば、twitter だったら

twittermgngchimpo0724545

だし、google だったら

googlemgngchimpo0724545

といった具合。場合によってはキャメルケース(GoogleMgngChimpo0724545)にしたり前後入れ替えたり(googlechimpo0724545mgng)とかはある。

これだと、そこそこ長いパスワード設定できるし忘れることはない。何度かミスってもパスロックかかるまではいかない。パスワード定期更新する必要があったら固定文字列の部分を変えれば事足りる。


しゅうせい地獄

作詞:mgng

今日もいつものしゅうせい地獄
アタマがいたくなっちゃうよ
未知のエラー あたらしいバグ
サーバーは今日も元気だね
しゅうせいしゅうせいしゅうせいしゅうせい
しゅうせい地獄

今日もいつものしゅうせい地獄
パソコンがほてってきちゃったよ
たくさんやることはあるのに
アタマがちっともはたらかない

あのバグがわたしをなやませる
わたしがあのバグをうめこんでる
みんながサーバーにアクセスする
サーバーが過負荷でこまってる

ああ 空はこんなに青いのに
風はこんなにあたたかいのに
太陽はとってもあかるいのに
どうしてこんなにバグるの
しゅうせいしゅうせいしゅうせいしゅうせい
しゅうせい地獄


IEつかってて惚れそうになった件

仕事の絡みでdocomoのユーザエージェント一覧をテキスト化する必要があって、

https://www.nttdocomo.co.jp/service/developer/make/content/spec/useragent/

まあ、ここに一覧でてるんだけど、クソテーブルタグのせいでコピーしづらすぎて、というか途中までやってしんだ。

正規表現で抜き出したり、javascriptでDOMスクレイピングすることも考えたけど、漏れなくきちんと取れてるかの確認もしなきゃいけなくて面倒。

で、IE( + Excel)。

IE開いて、こんな具合にコピーして、

Excel開いて貼り付けて

「貼り付け先の書式に合わせる」をクリックすると、

うおーできたー!

ということでIE(でテーブルタグをコピーしてExcelにわりとそのまま貼り付けられる仕様)に惚れた。


Google+

招待いただいたので(ありがとうございます) Google+ はじめたんですが、

http://gplus.to/mgng

Facebookをはじめたときくらいわけわかんね....

もし Google+ やりたい方がおりましたら招待いたしますので気軽に @mgng まで連絡ください。

...ッ!...招待の仕方がわかんねッッッ!


ワケあり物件

去年引越し先を探していたときに魅力的な物件を見つけたから不動産屋に問い合わせたら、以前住んでいた人が飛び降り自殺しててダメです、いやいや内見だけでもしたいんだけど、いやいやいやいや絶対ダメです!と釘を刺されたマンションの5偕、昨日たまたま前を通ったらカーテンがかかっててどうやら人が住み始めた様子。

自殺や事件が起こった後に1ヶ月間誰かが住んだ実績があれば「じつはワケあり物件でして...」っていう説明の義務はなくなるんだっけか。

バイト使って1ヶ月住んだことにしたのかなあ。それとも今バイト中なのかなあ。

(画像はイメージ)


iPhoneボイスメモ

iPhoneのボイスメモ機能使ってスタジオで録音してたんだけど、案外いい音で録れる。モノラルだけどちょっと音確認するくらいならこれで充分だと思った。ついでに録音した音をサウンドクラウドにアップした。

http://soundcloud.com/mgng/

iPhone4用の外付けマイクどっかに売ってないかな。