タグ

2017年12月12日のブックマーク (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]+$/

    bootJP
    bootJP 2017/12/12
  • IPVS のセッション同期パケットを作って送ろう - Qiita

    IPVS について LVS Project には IPVS 以外にも KTCPVS などのソフトウェアがありますが、現在では LVS (Linux Virtual Server) と言うとほぼ IPVS のことを指しているように思います。 IPVS は Linux でロードバランサを構築するためソフトウェアで、Linux kernel 内部に実装されています。 基的に L4 まで の情報を見てパケットをリアルサーバに転送するものです。 (FTP や SIP など、一部アプリケーションは上位レイヤの処理もできます) ipvsadm コマンドで設定を変更することもできますが、番環境で利用する場合はヘルスチェックや HA などを求めて keepalived から IPVS を使うことが多いと思います。 ここでは IPVS におけるセッション同期の話題を主とします。 LVS (IPVS) 自体

    IPVS のセッション同期パケットを作って送ろう - Qiita
    bootJP
    bootJP 2017/12/12