nanashinonozomi.com : fmemo , PGP と GnuPG
fmemo : «前の日(09-25) 最新 次の日(09-27)»

fmemo

不断の日記 (の体裁をした覚え書き) です。


2001-09-26 (Wed)

思いがけず見つけたもの

財布の中にたまった領収書やポイントカードの類を整理していると、小さく折りたたまれた図書券500円分と、某書店の金券3,000円分が出てきました。

確か、どちらも昨年の入院前に手に入れたものだったはずなので、一年以上、その存在を忘れてしまっていたことに。 これだけ長い間忘れていると、もともと自分のものなのにも関わらず、突然の臨時収入が転がり込んできたような感じで妙に得をした気分。 買いたい CD や本をどうしようか考えていたところだったので、実に丁度良いタイミングでした(^^)


2003-09-26 (Fri)


2004-09-26 (Sun)

就職活動 in 栃木 - 試験後日

9時30分頃、ホテルをチェックアウト。 宇都宮駅まで歩くつもりだったが、雨が降り始めていたので、タクシーを利用。 出発までの待ち時間は、駅構内の売店巡り。 普段世話になっている方々へのお土産をいくつか購入。

帰りは、11時宇都宮発やまびこ156号で東京まで行き、12時13分東京発のぞみ17号で博多まで。 道中はひたすら読書 & 居眠り。 来るとき乗った新幹線よりも揺れが大きく感じられ、本を読むのは結構辛かった…。 博多には17時30分頃到着。


2005-09-26 (Mon)

涼風 8 (少年マガジンコミックス)(瀬尾 公治) 涼風 8 (少年マガジンコミックス)(瀬尾 公治)

仕事帰りに自宅近くの書店にて。

tDiary 2.1.2.20050926

core と plugin を CVS の最新版に更新。


2006-09-26 (Tue)

月刊 アフタヌーン 2006年 11月号 [雑誌] 月刊 アフタヌーン 2006年 11月号 [雑誌]

通勤途中に会社近くのコンビニエンスストアにて。

comment_captcha.rb, captcha.rb - ツッコミ投稿時に CAPTCHA による画像認証を行うプラグイン(とフィルタ)

というわけで、さっそく comment_captcha.rb, captcha.rb を導入。

オリジナル版はスタイルシートで画像の配置が右側になるようになっている。 当然、スタイルシートを切っていると画像は右に表示されないのだが、「右の画像に書かれている文字列を入力してください」と表示されてしまう…。

というわけで、文言を修正。 ついでに img 要素に alt 属性を追加するなど、ちょこちょこ修正。

--- comment_captcha.rb.orig	2006-09-26 20:00:05.888256000 +0900
+++ comment_captcha.rb	2006-09-26 20:29:57.524502400 +0900
@@ -9,7 +9,7 @@
 require 'rexml/document'
 
 def comment_captcha_label
-	'右の画像に書かれている文字列を入力してください'
+	'画像に書かれている文字列を入力してください'
 end
 
 alias :comment_body_label_orig :comment_body_label
@@ -23,14 +23,16 @@
 		secret = @conf['captcha.secret'] || ''
 		expire = (Time.now.to_i+86400).to_s
 		digest = Digest::MD5.hexdigest( code+secret+expire )
-		r << %Q[<div class="captcha-image" style="float: right"><img src="#{image}" width="100" height="50">]
-		r << %Q[<br><a href="http://www.trynt.com/" title="TRYNT Web Services">TRYNT Web Services</a> Powered]
+		r << %Q[<div class="captcha-image">]
+		r << %Q[<img class="captcha-image" src="#{image}" width="100" height="50" alt="Captcha Code"><br>]
+		r << %Q[<span class="captcha-powered"><a href="http://www.trynt.com/">TRYNT Web Services</a> Powered</span>]
 		r << %Q[</div>]
+		r << %Q[<div class="field captcha">]
 		r << comment_captcha_label
 		r << %Q[:<input class="field" name="captcha_code" value="">]
 		r << %Q[<input type="hidden" name="captcha_digest" value="#{digest}">]
 		r << %Q[<input type="hidden" name="captcha_expire" value="#{expire}">]
-		r << %Q[<br>]
+		r << %Q[</div>]
 	end
 	r << comment_body_label_orig
 end

追記

W3C Markup Validator怒られると思ったら、 TRYNT CAPTCHA Web Service で取得できる画像の URI には「&」が含まれているのか…。

img 要素に食わせる前に「&」→「&amp;」にエスケープしなさいってことなんだけど………どうすればいいんだろう?(^^;;

追記(2)

解決。

Ruby レシピブック 268の技」の376ページ「236 : HTML をエスケープする/エスケープを外す」によると、 cgi ライブラリの CGI.escapeHTML を使うことで、「<」, 「>」, 「&」, 「"」を、それぞれ「&lt;」, 「&gt;」, 「&amp;」, 「&quot;」に変換することができるとあった。

というわけで、パッチのさらにパッチ。

--- comment_captcha.rb.old	2006-09-26 20:29:57.524502400 +0900
+++ comment_captcha.rb	2006-09-26 21:51:00.256768000 +0900
@@ -7,6 +7,7 @@
 require 'digest/md5'
 require 'open-uri'
 require 'rexml/document'
+require 'cgi'
 
 def comment_captcha_label
 	'画像に書かれている文字列を入力してください'
@@ -20,11 +21,12 @@
 	if doc then
 		code = doc.elements['captcha_code'].text
 		image = doc.elements['captcha_image'].text
+		enc_image = CGI.escapeHTML(image)
 		secret = @conf['captcha.secret'] || ''
 		expire = (Time.now.to_i+86400).to_s
 		digest = Digest::MD5.hexdigest( code+secret+expire )
 		r << %Q[<div class="captcha-image">]
-		r << %Q[<img class="captcha-image" src="#{image}" width="100" height="50" alt="Captcha Code"><br>]
+		r << %Q[<img class="captcha-image" src="#{enc_image}" width="100" height="50" alt="Captcha Code"><br>]
 		r << %Q[<span class="captcha-powered"><a href="http://www.trynt.com/">TRYNT Web Services</a> Powered</span>]
 		r << %Q[</div>]
 		r << %Q[<div class="field captcha">]

情報源/参考情報

本日のツッコミ(全1件) [ツッコミを入れる]

不断 [ツッコミテスト : 文字列入力]