トップ 最新

糸の切れた凧( a threadless kite )

ここは、管理人yamagataが方針未定のまま、何となーく思いついたことを思いついたままにだらだらと書き付ける日記帳です。ふんわりほんわかな感じでお願いします。

2008/06/11(水)水曜日ー。(ちょこまかと変えないで〜〜)

[セキュリティ] * MS月例パッチが公開、IEやBluetoothの脆弱性に対処 (ITmedia)
自動で更新情報をクロールするCGI(↓)、今月は失敗してました。orz
  • マイクロソフト製品セキュリティ情報ページ (日本語版) by yamagata21

  • マイクロソフト製品セキュリティ情報ページ (英語版) by yamagata21

敗因は、「* セキュリティ新着情報
」の書式が先月までと変わっていたことでしたw今後は、素直にRSSフィードから取得するように変更しましたよ。(^-^;[メモ] PerlのTaintモードを使うとどれくらい重くなるのか?ikepyonさんのところで* Kanatokoさんから鋭いツッコミ
を貰ってしまったので、ちょいとテスト。■テスト1 : Taintなデータソースからの入力を300万回繰り返しtime perl -Te 'for($i=1;$i<=3000000;$i++){$x=$ENV{"PATH"};}' と -T 無しとの比較。それぞれ 6回実施して、2回目〜6回目の計5回分の値の平均を比較。 -Te が 10.435秒、-e が 3.975秒。 Taintモードのほうが約2.6倍の処理時間がかかる。(以下、ループの回数は -T 付きの処理が約10秒を超える回数を選んでテストしています。)■テスト2 : Taintなままの変数を別の変数に800万回コピーtime perl -Te '$z=$ENV{"PATH"};for($i=1;$i<=8000000;$i++){$x=$z;}' と -T 無しとの比較。それぞれ 6回実施して、2回目〜6回目の計5回分の値の平均を比較。 -Te が 10.385秒、-e が 7.502秒。 Taintモードのほうが約1.4倍の処理時間がかかる。■テスト3 : Taintフラグ除去済みの変数を別の変数に2000万回コピーtime perl -Te 'if($ENV{"PATH"}=~/:([^:]+)/){$z=$1;};for($i=1; $i<=20000000;$i++){$x=$z;}'それぞれ 6回実施して、2回目〜6回目の計5回分の値の平均を比較。 -Te が 10.880秒、-e が 10.836秒。 ほとんど差は出ていないと言っても良い?■テスト4 : 外部からの入力に依らない変数を別の変数に2000万回コピーtime perl -Te '$z="";for($i=1;$i<=20000000;$i++){$x=$z;}' と -T 無しとの比較。それぞれ 6回実施して、2回目〜6回目の計5回分の値の平均を比較。 -Te が 10.681秒、-e が 10.673秒。 ほとんど差は出ていないと言っても良い?・・・と言うことで、Taintフラグが付いたままの変数を操作するときにはそれなりに重くなるらしい。 Taintフラグが除去された後の処理にはそれほど影響ないらしい。 数百万回繰り返せばこういう結果になるわけですが、一般的な規模のサイトの CGI で使う分には、-T を付けたままでいても、それほど大きな影響はなさそうかも? (いや、もちろん、例えば mixiクラスの規模になったら、影響は大きいのでしょうけど。)