2007年03月14日(水) [過去の今日]
#1 各言語における単純置換と正規表現置換
なんか混乱してきたので自分でまとめることにする(涙)
言語 | 単純置換 | 正規表現置換 |
Perl | $str =~ tr/hoge/fuga/ | $str =~ s/[hm]oge/fuga/ |
PHP | str_replace('hoge', 'fuga', $str) | preg_replace("/[hm]oge/", 'fuga', $str) |
JavaScript | str.replace("hoge", fuga) | str.replace(/[hm]oge/, fuga) |
Python | str.replace("hoge", "fuga") | re.sub("[hm]oge" "fuga") |
Ruby | str.sub("hoge", "fuga") | str.sub(/[hm]oge/, "fuga") |
- Perl/PHPの正規表現のデリミタは/以外も使える。s|hoge|moge|等。
- Pythonはre.compileで正規表現をコンパイルして使える。
- Rubyにはgsubメソッドもある。
(@079)
@ 修正ログ:
メールでツッコミを頂いた(thx!)のでデリミタ関連などを追記。
さらにメールで教えて頂いたのでPythonとRubyも追加。
#2 今年もスコーンを焼いた
#3 はてなサーバがクラックされてたらしい
はてなサーバへの不正な侵入について というはてなのアナウンス。
これはsshのブルートフォースか。うちにも大量に来てる。鍵認証だけにできればそれが一番なんだけど、鍵ファイルを持ち歩くのはやっぱ不便なんだよな。
今のPCは計算力も高いし、回線の帯域も太いから、けっこう短時間で正解のIDとパスワードを見つけられちゃうんだろなあ。
昔は中国韓国台湾あたりからのアタックばかりだったので、この3ヶ国のIPアドレスだけアクセス禁止という手もあったのだが、今は国内サーバやアメリカなどからもよく来るようになった。どこぞの商工会議所が借りてるレンタルサーバから来たこともある。
忙しくなければabuse@に連絡したりもしてるが、なかなかそういう手間を掛けられないことが多い。
とりあえず時間あたりの認証トライ回数を制限するだけでもブルートフォース対策にはなるかなあ。MaxAuthTries が1接続あたりじゃなく5分あたりとかにできればいいのかな。
OpenSSHプロジェクト的にはどう考えてるんだろう。 これだけ長きに渡ってそういう機能付いてないってことは、「強固なパスワードにしとくか鍵認証使え」という見解なのかな。そのわりにはMaxStartupsとか本質的じゃない解法もあるが……これはセキュリティじゃなくてサーバ負荷の対策かな。
(@917)