Prev / Next / /home/pochi/ChangeLog

正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう[コンピュータ]

2014-03-04

http://blog.tokumaru.org/2014/03/z.html

正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、
正しくは \A と \z を用いる必要があります。
Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。
PerlやPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。


普通に ^ と $ を使ってた。むむぅ。

このコードのダサいところを判定してくれるテストツールとかってないものかしら?
こういう単純なものを教えてもらえたり、自動変換してくれたりすると、
たまにしかコードを書かない人にとっては嬉しかったりする。

permlink