岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

2011-01-01から1年間の記事一覧

文字種チェック用の読みやすくて速い正規表現

前回の日記で「クライアントに的確なエラーメッセージを返すため、文字種のチェックと文字数のチェックは分けて行うべきかもしれない」と書いた。このうち、文字数のチェックは簡単である。文字数をカウントし、許容文字数を超えていないかどうか調べるだけ…

Ruby製Webアプリでの書式チェック用正規表現

制御文字は不許可にすべき 前回の日記で「単なる書式チェック(文字種や長さなどのチェック)なので、アプリの要件にしたがって粛々と行えばよい」と書いた「(c)パラメータ文字列の妥当性検証」であるが、実は考えるべきことがそれなりにある。アプリの要件…

Ruby製Webアプリでの入力チェック手順

今回はRuby製Webアプリでの入力チェック手順について考えてみる。Ruby1.9を使い、Railsなどのフレームワークは使わない前提だ。 文字エンコーディングの妥当性検証こそが重要 徳丸浩さんの『体系的に学ぶ 安全なWebアプリケーションの作り方』には「入力処理…

Rack::Request#[]でUTF-8文字列が返ってくる件

$ ruby -v ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux] $ gem list | grep rack rack (1.3.0)という環境で: require 'rack' class MyApp def call(env) [200, {"Content-Type" => "text/plain"}, [Rack::Request.new(env)['hoge'].encoding…

Re: RESTとCSRF

ご無沙汰しております。artonさんの「RESTとCSRF」を読んで僕なりに考えたことを書きます。お題: 所定の遷移に従っていないクライアントには破壊的な操作をさせたくない 破壊許可識別子をリクエストボディに含めたくない artonさんの解は下記の通り「破壊許…

Twitter botのプログラムを晒してみる

どんなbotか カラオケって、歌いたい曲が配信されてなかったりしますよね。そのモヤモヤを救済するために、JOYSOUNDという超最高なカラオケ配信サービスが、配信リクエストを受け付けてくれています。リアルタイムリクエストです。投票で毎月200位までに入っ…