『JUnit実践入門』写経・実践会 in 横浜 #4 でLTしたネタを、 TDD Boot Camp Tokyo 2013-03にあわてて焼きなおしてLTした際の資料。重複多いですが備忘の意味でアップ。
![再帰的 正規表現JSON Validator](https://cdn-ak-scissors.b.st-hatena.com/image/square/b9702e2b7b99c2b3d381c211da22a279ec0bff35/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fshibuyapm16-regexp-json-validator-110707012836-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Ajaxなアプリケーションにおいて、サーバからJSONを返す場合に、JSON自体はvalidであるにも関わらず、(IEの都合で)エスケープが不足していて脆弱性につながってる場合があるので、書いておきます。 発生するかもしれない脆弱性 JSONのエスケープが不足している場合に発生する可能性のある脆弱性は以下の通りです。 JSON内に含まれる機密情報の漏えい XSS それぞれの詳細については後述します。 開発側でやるべきこと 文字列中のUnicode文字は "\uXXXX" な形式にエスケープするとともに、ASCIIな範囲であっても「/」「<」「>」「+」も同様にエスケープすることにより、前述の脆弱性を防ぐことができます。 Perlであれば、以下のような感じになります。JSON->ascii(1) に続けて、JSON文字列を正規表現で置換しているあたりがキモになります。 use utf8; u
nginxやvarnishなどがアツいですが、Apacheもまだまだ実績や安定性から採用されていると思います。ここではデフォルトとは異なる値に変更するサーバ設定を中心に、パフォーマンス改善、安全性向上のためのApacheの設定を紹介します。 mpmの確認 > /path/to/bin/httpd -V Server version: Apache/2.2.19 (Unix) Server built: Jun 23 2011 17:13:13 Server's Module Magic Number: 20051115:28 Server loaded: APR 1.4.5, APR-Util 1.3.12 Compiled using: APR 1.4.5, APR-Util 1.3.12 Architecture: 64-bit Server MPM: Worker PreforkやW
本日、TVTalk という Web サービスをリリースしました。 Twitter 上で、テレビ局のハッシュタグが付いているツイートを拾って、放送中の番組情報と紐付けるという、アグリゲーターサービスです。リアルタイムにタイムラインを追うにも、放送済み番組の内容をチェックするのにも使えますので、みなさんぜひ使ってみてください。ブックマークやいいね!も良かったらお願いします! 今日は、この Web サービスの裏側のシステム構成を紹介したいと思います。 構成 EC2 Route53 (DNS) ELB (Load Balancer) MySQL 5.5.11 nginx 0.7.65 Starman Twiggy Tatsumaki AnyEvent::Twitter::Stream Airy (自作フレームワーク) Web サーバー Web はフロントに nginx をおいて、静的ファイルは n
今日は夏の正規表現祭りに参加していますので、自分用にメモします。 ustreamもあります! (Irr|R)egular Expressions / @dankogaiさん 「えろい」のではなく「えらい」 「命賭けるな、コード書け」 正規表現の使い過ぎに注意 $str eq 'XXX' or $str eq 'YYY' を /^(XXX|YYY)$/ に書き直したくなる → やりすぎ もしくはハッシュを使ったり、5.10 でスマートマッチ ~~ を使ったり。 メールアドレスの検証の正規表現 → 適当に書くと不完全。完全に書くとすごく長い Regexp::Common → 便利な正規表現集。ipv4とか。 Regexp::Assemble → alternations (xxx|yyy|zzz) をTRIE最適化する。 ただし、5.10 以降は自動でTRIE最適化してくれる マッチした部分を
Shibuya Perl Mongersテクニカルトーク#16 : ATNDに参加したので、メモっていた内容です。(正確性は保証されません) 夏の正規表現祭り 18:45 – 開会宣言(会場からの諸注意) 18:50 – Dan the (Irr|R)egular Expressionist – @dankogai メールアドレスの検証 狭義のメールアドレスは正規表現でマッチできる事になっている IPv4アドレスの検証 use Regexp::Commonにこういうよくある感じのが簡単に使えるようになっている。 コストが高い正規表現 手動でやるのもコストが高い(人的に) use Regexp::Assemnle というものがある マッチした正規表現を返してくれる -> Perl5.10のやつはここまではできない 実はPerl5.10以降はTRIE Optimizationはしてくれる s/
Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、本邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く