タグ

Rubyに関するm6uのブックマーク (2)

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

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

    m6u
    m6u 2017/12/12
    もしかして:おしえて\A to \z
  • Windowsでテスト結果を見やすくする - LukeSilvia’s diary

    Macのautotestの記事とかを見て、autotestは毎回走るところがちょっとなと思っていたのですが、あの色が付いたテストはいいなーって思って、Windowsでやってみました。 スクリーンショット こんな感じになります。大量のテストを行うと、こけた箇所が分かりやすいです。また、全部緑になると心が癒されます。 やったこと redgreenのインストール gemからインストールできます。 gem install redgreen このgemを使うと、テストで「.」(=通過)には緑、「F」は赤で表示されるようになります。便利ですね。最初は「Term::ANSIColor for Ruby」を使おうとしていました。(汗) Unix系OSのターミナルなら、これで十分です。Windowの場合は、仮にこの状態でテストを行うと、以下のような結果になります。 なお、テストで使う際には、TestHelp

    Windowsでテスト結果を見やすくする - LukeSilvia’s diary
    m6u
    m6u 2012/11/10
    Windowsでのテストをカラー表示でわかりやすく。
  • 1