<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
>

<channel rdf:about="http://www.sonorilo.net/">
<title>とある技術屋の戯言</title>
<link>http://www.sonorilo.net/</link>
<description></description>
<dc:language>ja-JP</dc:language>
<dc:rights>Copyright 2006, shin Suzuki.</dc:rights>
<dc:creator>shin Suzuki</dc:creator>
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/03/16/2726" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2009/09/08/2725" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/03/12/2724" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/03/13/2723" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2009/12/02/2704#m2722" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/02/28/2720" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/02/28/2719" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/03/02/2718" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/03/01/2721" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/02/23/2716" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/02/23/2715" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/02/08/2714" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/02/04/2712" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2010/01/25/2711" />
  <rdf:li rdf:resource="http://www.sonorilo.net/2009/11/23/2710" />
 </rdf:Seq>
</items>
</channel>
<item rdf:about="http://www.sonorilo.net/2010/03/16/2726">
<title>歩道駐車コレクション</title>
<link>http://www.sonorilo.net/2010/03/16/2726</link>
<description>歩道を駐車場だと思ってるバカども



大阪502 ほ 5697 



大阪480 す 635



大阪800 さ 4332



大阪301 む 5804
枚方市 ゆ 59802



京都500 ね 1853



京都480 あ 1788



歩道じゃないけど右側駐車で横断歩道踏んでるからバカのレベルは一緒

京都500 み 9058



京都500 め 1578





京都 77 は 4748

目の前で110番しましたけど動じる気配なし



京都483...</description>
<dc:date>2010-03-16T00:33:15+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>歩道を駐車場だと思ってるバカども</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434843209"><img width="240" height="180" src="http://farm3.static.flickr.com/2751/4434843209_c2333f3a4b_m.jpg" alt="SH370052"/></a></p>

<p>大阪502 ほ 5697 </p>

<p><a href="http://www.flickr.com/photos/suzukis/4435618910"><img width="240" height="180" src="http://farm5.static.flickr.com/4055/4435618910_8a370bec38_m.jpg" alt="SH370053"/></a></p>

<p>大阪480 す 635</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435620108"><img width="240" height="180" src="http://farm5.static.flickr.com/4028/4435620108_ce00f2db07_m.jpg" alt="SH370055"/></a></p>

<p>大阪800 さ 4332</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435620928"><img width="240" height="180" src="http://farm5.static.flickr.com/4038/4435620928_9c2c4401f3_m.jpg" alt="SH370056"/></a></p>

<p>大阪301 む 5804<br/>
枚方市 ゆ 59802</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434846375"><img width="240" height="180" src="http://farm5.static.flickr.com/4023/4434846375_4a0771b671_m.jpg" alt="SH370057"/></a></p>

<p>京都500 ね 1853</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435622436"><img width="240" height="180" src="http://farm5.static.flickr.com/4018/4435622436_fe9e827011_m.jpg" alt="SH370058"/></a></p>

<p>京都480 あ 1788</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434847957"><img width="240" height="180" src="http://farm5.static.flickr.com/4016/4434847957_d826c0e6fb_m.jpg" alt="SH370059"/></a></p>

<p>歩道じゃないけど右側駐車で横断歩道踏んでるからバカのレベルは一緒</p>

<p>京都500 み 9058</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435623962"><img width="240" height="180" src="http://farm3.static.flickr.com/2713/4435623962_2451f8e734_m.jpg" alt="SH370060"/></a></p>

<p>京都500 め 1578</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435624728"><img width="240" height="180" src="http://farm3.static.flickr.com/2712/4435624728_4aebe66c09_m.jpg" alt="SH370061"/></a>
<a href="http://www.flickr.com/photos/suzukis/4435625538"><img width="240" height="180" src="http://farm5.static.flickr.com/4063/4435625538_b55a5b7b6f_m.jpg" alt="SH370062"/></a></p>


<p>京都 77 は 4748</p>

<p>目の前で110番しましたけど動じる気配なし</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434850895"><img width="240" height="180" src="http://farm5.static.flickr.com/4043/4434850895_69a27e9ec2_m.jpg" alt="SH370063"/></a></p>

<p>京都483 う 621 ブリヂストングループには国内有数の自転車メーカーもあるのに自転車通行帯の上に車止めるか…</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434851517"><img width="240" height="180" src="http://farm5.static.flickr.com/4048/4434851517_0e24dd4e0d_m.jpg" alt="SH370064"/></a></p>

<p>京都11 う 9366</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435627430"><img width="240" height="180" src="http://farm5.static.flickr.com/4005/4435627430_c3d76a35ce_m.jpg" alt="SH370067"/></a></p>

<p>京都 504 む 7</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435628394"><img width="240" height="180" src="http://farm5.static.flickr.com/4043/4435628394_893958b2ed_m.jpg" alt="SH370070"/></a><a href="http://www.flickr.com/photos/suzukis/4434853773"><img width="240" height="180" src="http://farm3.static.flickr.com/2741/4434853773_a2ffc1ba82_m.jpg" alt="SH370071"/></a></p>

<p>京都100 い 413 株式会社共盛輸送</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435629876"><img width="240" height="180" src="http://farm3.static.flickr.com/2726/4435629876_8337af70b7_m.jpg" alt="SH370072"/></a></p>

<p>京都130 あ 3846 <a href="http://www.yamaichi-s.com/">山一サービス</a></p>

<p><a href="http://www.flickr.com/photos/suzukis/4434855071"><img width="240" height="180" src="http://farm5.static.flickr.com/4047/4434855071_35f9716b02_m.jpg" alt="SH370073"/></a></p>

<p>京都580 さ 4722 <a href="http://www.falco.co.jp/">ファルコバイオシステムズ</a> ちょうど運転手がいたので歩道は駐車場じゃないぞって言ったのに完全に無視されました。</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435631202"><img width="240" height="180" src="http://farm5.static.flickr.com/4049/4435631202_076a5a88ca_m.jpg" alt="SH370074"/></a></p>

<p>京都501の1505。2人がかりでトランクからプロパンボンベ引っ張り出して京都中央卸売市場第一市場の中に運び込んでました。ところでプロパンボンベってそういう運び方していいんでしたっけ？</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434856469"><img width="240" height="180" src="http://farm3.static.flickr.com/2710/4434856469_9404953df0_m.jpg" alt="SH370076"/></a></p>

<p>京都100さ9370 伊藤園</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434856923"><img width="240" height="180" src="http://farm5.static.flickr.com/4059/4434856923_33f56ed8ac_m.jpg" alt="SH370078"/></a></p>

<p>なにわ300り6911</p>

<p><a href="http://www.flickr.com/photos/suzukis/4435640964"><img width="240" height="180" src="http://farm5.static.flickr.com/4038/4435640964_9c218806ef_m.jpg" alt="IMG_0036"/></a></p>

<p>京都480り1380</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434865991"><img width="240" height="180" src="http://farm3.static.flickr.com/2794/4434865991_866a31a7fb_m.jpg" alt="IMG_0043"/></a><a href="http://www.flickr.com/photos/suzukis/4435641730"><img width="240" height="180" src="http://farm3.static.flickr.com/2695/4435641730_bafd970e8d_m.jpg" alt="IMG_0044"/></a></p>

<p>大阪800 さ 4332 常習なんですよねこいつ<br/>
枚方市ゆ40625<br/>
寝屋川市ひ2858</p>

<p>赤っぽい舗装は自転車通行帯です</p>


<p><a href="http://www.flickr.com/photos/suzukis/4435642056"><img width="240" height="180" src="http://farm5.static.flickr.com/4041/4435642056_aefae5b8ba_m.jpg" alt="IMG_0047"/></a></p>

<p>京都100さ396</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2009/09/08/2725">
<title>今日の違法駐車</title>
<link>http://www.sonorilo.net/2009/09/08/2725</link>
<description>

京都535 む 1221</description>
<dc:date>2010-03-16T00:12:04+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p><a href="http://www.flickr.com/photos/suzukis/4435617994"><img width="240" height="180" src="http://farm5.static.flickr.com/4020/4435617994_95d5f66994_m.jpg" alt="SH370051"/></a></p>

<p>京都535 む 1221</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/03/12/2724">
<title>今日の違法駐車</title>
<link>http://www.sonorilo.net/2010/03/12/2724</link>
<description>いつもの桂大橋東詰南側。



京都200 さ 1308 トヨタハイエース(?)

110番した後に運転手帰ってきたので「自分で電話してキャンセルしとけ」って言ったら逆ギレされました。文句あるならもうじき警察くるから待っとけ、と言ったら慌てて逃げていったんですが、捨て台詞はこう。「そうやって人を見下して生きてりゃいいんだ」。意味がわかりません。自分が他人に迷惑をかけておいて、それを注意されたから「自分が見下された」と感じるんでしょうか。精神的にどっかいかれてるんじゃないでしょ...</description>
<dc:date>2010-03-15T23:57:52+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>いつもの桂大橋東詰南側。</p>

<p><a href="http://www.flickr.com/photos/suzukis/4434807509"><img width="240" height="180" src="http://farm3.static.flickr.com/2715/4434807509_2e5ec2f449_m.jpg" alt="SH370077"/></a></p>

<p>京都200 さ 1308 トヨタハイエース(?)</p>

<p>110番した後に運転手帰ってきたので「自分で電話してキャンセルしとけ」って言ったら逆ギレされました。文句あるならもうじき警察くるから待っとけ、と言ったら慌てて逃げていったんですが、捨て台詞はこう。「そうやって人を見下して生きてりゃいいんだ」。意味がわかりません。自分が他人に迷惑をかけておいて、それを注意されたから「自分が見下された」と感じるんでしょうか。精神的にどっかいかれてるんじゃないでしょうか。</p>

<p>というわけで、運転手は危険人物なので絶対に近づかないように。警察には被害を申告済みです。</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/03/13/2723">
<title>ヨドバシでオーナーメードのVAIO Pを買った</title>
<link>http://www.sonorilo.net/2010/03/13/2723</link>
<description>DoCoMoのL-05Aも。auのW05Kの遅さに耐えられないのと\30,000引き狙い。ヨドバシのポイントが貯まってるので使えたらラッキーかな、と

まずオーナーメードのカウンターでいくつか確認


DoCoMoの\30,000引きは対象か？→OK
オンラインで買ったときの3年保証は→付く
ヨドバシのポイントは？→付かないけど支払いには使える


条件はOK。買うのは決めてるけど\30,000引きするならDoCoMoの契約先にしてきたほうがいいかい？って聞いたら先にこっちで...</description>
<dc:date>2010-03-14T01:11:12+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>DoCoMoのL-05Aも。auのW05Kの遅さに耐えられないのと\30,000引き狙い。ヨドバシのポイントが貯まってるので使えたらラッキーかな、と</p>

<p>まずオーナーメードのカウンターでいくつか確認</p>

<ul>
<li>DoCoMoの\30,000引きは対象か？→OK</li>
<li>オンラインで買ったときの3年保証は→付く</li>
<li>ヨドバシのポイントは？→付かないけど支払いには使える</li>
</ul>

<p>条件はOK。買うのは決めてるけど\30,000引きするならDoCoMoの契約先にしてきたほうがいいかい？って聞いたら先にこっちで見積もりして、その後DoCoMoの担当者呼んできます、と。構成の選択肢はオンラインと全く一緒なのでさくさく決めておしまい。ここでソニースタイルのID持ってるか聞かれる。持ってるけど今はわからない、と言ったらカウンターの端末でID通知画面(ソニースタイルの普通の画面)出されて、フリーメールだったらこれ使って確認できますが、とのこと。いやちょっとまてそれはこの端末でwebメールにログインして見ろってことかと思いつつ、深く突っ込まずに操作。iPhoneで確認できるし。</p>

<p>次はDoCoMo。正体は兼松コミュニケーションズでしたが。L-02A(\0)をプッシュされたけど、前にL-05Aがチェンジ割つかって\0になるって聞いてたのでそっちにしてもらう。が、チェンジ割に電話番号が必要、と言われて悩む。データ通信カードの電話番号なんてわかりませんがな。しょうがないのでauのサポートに電話かけてすったもんだしたあげく、請求をオンラインにしていたらそこから見られるはず、という回答を引き出し解決。</p>

<p>\0の条件がISP契約だったんですが、なぜかOCNをプッシュされました。moperaはおまけ。いいんでしょうか。料金は同じだけどOCNは2ヶ月無料だったので遠慮せずOCNに。</p>

<p>ここからDoCoMoのカウンターに移ってDoCoMoの契約。あれやこれやの確認が相変わらず面倒ですね。続いてOCN。ISPの契約なんてオンラインでやるとあっさり終わるのに対面だと面倒すぎる。しかも支払いは請求書のみでカード決済にするならあとでオンラインにしてくれだって。うーん。とりあえずおしまい。引き渡しまで1H待ち。</p>

<p>またソニーのカウンターに戻ってソニーの契約の続き。構成を確定してさていよいよ注文。ってオンラインかい。ソニースタイルのIDが必要ですってそういうことか。決済方法のところで「パートナー決裁」という普通出てこない項目が出てくるだけで、後はオンラインで注文するのと一緒。自分で操作させられるし。とにかく注文完了。普通にソニースタイルから注文完了のメールが来ました。</p>

<p>ここでソニーの人がDoCoMoに確認取ってくれて回線開通してるということだったのでまたDoCoMoのカウンターに。ヨドバシの店員に「まだだ」と言われたけどウソ付けコラと言って持ってこさせる。\0の領収書もらっておしまい。</p>

<p>最後にPCの支払い。ソニーのカウンター近くのレジにまた移動。都合2往復半ですか。もうちょっとどうにかならないもんでしょうか。結局約2時間かかりました。あとソニースタイルのパスワード変えとかないと。</p>

<p>まとめ。</p>

<p>・オーナーメードは店頭でもオンラインでも支払い方法以外は注文操作を自分でするのも含めて一緒。ソニースタイルのキャンペーンやクーポンも対象。納期も一緒。<br/>
・IDは事前に調べておくこと。<br/>
・支払いは店舗レジになる。量販店のポイントは使えないけど支払いには使える。他社のキャンペーン(データ通信契約で割引とかPCと何かを一緒に買うと割引とか)もたいてい普通に使える。<br/>
・(他社はどうだかしらないけど)DoCoMoのデータ通信契約でPC\30,000引き、は手続きが面倒。吊しのPCを買うときでもそれなりの時間を覚悟しておいた方がいい。mopera契約にしたら多少は短くなるかも。</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2009/12/02/2704#m2722">
<title>VMWare ESXi4でジャンボフレームを使用する方法 への追記</title>
<link>http://www.sonorilo.net/2009/12/02/2704#m2722</link>
<description>NetAppが行ったベンチマーク(リンク先PDF)によると、ジャンボフレームを使用してもスループットは上がらない(iSCSIでは悪化)、CPU負荷はジャンボフレームを使用したときの方が低い、という事になったようです。設定変更のリスクを考えると微妙ですね。</description>
<dc:date>2010-03-06T18:32:20+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p><a href="http://media.netapp.com/documents/tr-3808.pdf">NetAppが行ったベンチマーク</a>(リンク先PDF)によると、ジャンボフレームを使用してもスループットは上がらない(iSCSIでは悪化)、CPU負荷はジャンボフレームを使用したときの方が低い、という事になったようです。設定変更のリスクを考えると微妙ですね。</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/02/28/2720">
<title>晩ご飯</title>
<link>http://www.sonorilo.net/2010/02/28/2720</link>
<description>ポテトとベーコンのグラタン(2日連続2回目)

</description>
<dc:date>2010-03-02T12:36:25+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>ポテトとベーコンのグラタン(2日連続2回目)</p>

<p><a href="http://www.flickr.com/photos/suzukis/4394654272"><img width="240" height="161" src="http://farm5.static.flickr.com/4042/4394654272_c28811c4d2_m.jpg" alt="ポテトとベーコンのグラタン"/></a></p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/02/28/2719">
<title>おやつ</title>
<link>http://www.sonorilo.net/2010/02/28/2719</link>
<description>枚方市駅構内で売っていた焼き芋スイートポテト

</description>
<dc:date>2010-03-02T12:35:36+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>枚方市駅構内で売っていた焼き芋スイートポテト</p>

<p><a href="http://www.flickr.com/photos/suzukis/4393661877"><img width="240" height="161" src="http://farm5.static.flickr.com/4015/4393661877_fa80d3271b_m.jpg" alt="焼き芋スイートポテト"/></a></p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/03/02/2718">
<title>SQLの数値リテラルをシングルクォートでくくる手法について</title>
<link>http://www.sonorilo.net/2010/03/02/2718</link>
<description>結論

セキュリティ対策の一環としてSQLの数値リテラル(が期待されるパラメータ)をシングルクォートでくくる(文字列扱いする)手法は使用すべきでない

理由

少なくともMySQLでは標榜されている通りの動作はしない上、意図しない副作用が発生する。

解説

数値リテラルをシングルクオートでくくる手法は、これを推奨する大垣氏によると次のような効果があるとされています。参考:なぜPHPアプリにセキュリティホールが多いのか? 第14回　減らないSQLインジェクション脆弱性


攻...</description>
<dc:date>2010-03-02T00:26:31+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>結論</p>

<p>セキュリティ対策の一環としてSQLの数値リテラル(が期待されるパラメータ)をシングルクォートでくくる(文字列扱いする)手法は使用すべきでない</p>

<p>理由</p>

<p>少なくともMySQLでは標榜されている通りの動作はしない上、意図しない副作用が発生する。</p>

<p>解説</p>

<p>数値リテラルをシングルクオートでくくる手法は、これを推奨する大垣氏によると次のような効果があるとされています。参考:<a href="http://gihyo.jp/dev/serial/01/php-security/0014?page=2">なぜPHPアプリにセキュリティホールが多いのか? 第14回　減らないSQLインジェクション脆弱性</a></p>

<ul>
<li>攻撃目的の入力が行われてもSQLインジェクションが発生しない</li>
<li><q>簡単に攻撃用の文字列が検出でき</q>る</li>
</ul>

<p>これらはどちらも数値型が期待されるパラメータに不正なデータが渡されるとクエリエラーが発生することが前提となっています。例として、</p>

<pre class="code">
SELECT * FROM table WHERE id = $VALUE; --ここでidは整数型
</pre>

<p>というSQLがあった場合に、$VALUEに"1 OR 1 = 1"という入力がされていた場合、WHEREが無効になってしまいますが、</p>

<pre class="code">
SELECT * FROM table WHERE id = '$VALUE';
</pre>

<p>というSQLであれば、$VALUEが数値として解釈できなければクエリエラーになる(であろう)ということです。</p>

<p>しかし、MySQLの場合、データベース側で文字列を可能な限り数値に変換するという動作をするため、クエリエラーが発生しません。どのような変換がされるかは<a href="http://d.hatena.ne.jp/sakaik/20100225/mysqlautochange">これだけは覚えておきたい!!MySQL の６つの自動変換 - sakaikの日々雑感～©編</a>に詳説されていますが、簡単に言えば</p>

<ul>
<li>頭から読んでいって数値と解釈できなくなったら後ろは無視する(例:123abc456→123)</li>
<li>頭から数値と解釈できなければ0とみなす(例:abc123→0)</li>
</ul>

<p>というものです。これは、数値(が期待される)パラメータを文字列扱いすればクエリエラーになる、という考えとは相容れません。</p>

<p>実際に試してみると、以下の通りwarningは出ていますがエラーにはなりません。</p>

<pre class="code">
mysql&gt; SELECT * FROM test;
+------+------+
| id   | text |
+------+------+
|    0 | 000  |
|    1 | 111  |
+------+------+
2 rows in set (0.00 sec)

mysql&gt; SELECT * FROM test WHERE id = '1a';
+------+------+
| id   | text |
+------+------+
|    1 | 111  |
+------+------+
1 row in set, 2 warnings (0.00 sec)

mysql&gt; SELECT * FROM test WHERE id = 'hoge';
+------+------+
| id   | text |
+------+------+
|    0 | 000  |
+------+------+
1 row in set, 2 warnings (0.00 sec)
</pre>

<p>このような変換によってSQLインジェクションを成立させることは難しいとおもいますので、SQLインジェクションを防止するという点については機能しているといえるかもしれません。しかし、大垣氏はこのように主張されています。</p>

<blockquote cite="http://gihyo.jp/dev/serial/01/php-security/0014?page=2" title="なぜPHPアプリにセキュリティホールが多いのか?：第14回　減らないSQLインジェクション脆弱性｜gihyo.jp … 技術評論社"><p>整数型にキャストすればよいのでは？　と考えられた方もいると思います。しかし，キャストする方法は2つの理由でベストプラクティスとは呼べません。キャストした場合，不正な攻撃目的の入力が行われてもクエリエラーが発生しない可能性があります。</p><div class="cite">
		(<cite><a href="http://gihyo.jp/dev/serial/01/php-security/0014?page=2">なぜPHPアプリにセキュリティホールが多いのか?：第14回　減らないSQLインジェクション脆弱性｜gihyo.jp … 技術評論社</a></cite>より)
	    </div></blockquote>

<p>この手法の前提が「不正入力があればクエリエラーが発生する」というものである以上、SQLインジェクションが成立しないのは単なる偶然と言うべきだと考えます。また、クエリエラーが発生しないので、<q>簡単に攻撃用の文字列が検出でき</q>るという機能も実現されていません。</p>

<p>また、クエリエラーが発生しないだけでなく、開発者の意図しない検索条件の成立や異常データの挿入が行われるという問題があります。上記の例の通り、"1a"→1、"hoge"→0として検索条件が成立していますが、これはほぼすべての場合において開発者が意図したものではないはずですし、常識的な動作とも異なります。</p>

<p>なお、この手法を用いなかった場合には、MySQLにおいてもクエリは失敗します。</p>

<pre class="code">
mysql&gt; select * FROM test WHERE id = hoge;
ERROR 1054 (42S22): Unknown column 'hoge' in 'where clause'

mysql&gt; SELECT * FROM test WHERE id = 1a;
ERROR 1054 (42S22): Unknown column '1a' in 'where clause'
</pre>

<p>これはおそらく開発者の意図通りでしょう。</p>

<p>もっと根本的なレベルでこの手法を用いるべきでない理由があります。このような問題がこの手法を推奨する側から全く示されていないことです。本記事の内容は、MySQLという超メジャーなデータベースについてすら全く検証が行われていないことを示しています。文字列→数値の変換については、<a href="http://d.hatena.ne.jp/ockeghem/20070502/1178042280">数値リテラルをシングルクォートで囲むことの是非 - ockeghem(徳丸浩)の日記</a>において一部のデータベースについて検証された結果が記載されていますが、データベースによってかなりばらつきがあります。パラメータやバージョンの違いによっても動作が変わるかもしれません。実際手元のMySQLはこの表とは違う動作をしました。</p>

<p>以上の通り、この手法は</p>

<ul>
<li>少なくともMySQLにおいては標榜されている機能は全く実現されない</li>
<li>他のデータベースにおいても慎重に検証が必要だが、その分の労力はパラメータの検証やテストを確実に行う方向に費やすべき。</li>
<li>仮に検証の結果ある時点では動いたとしても何らかのきっかけで意図した動作をしなくなる可能性がある</li>
</ul>

<p>という理由で全く使うべきではありません。</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/03/01/2721">
<title>気象庁が津波の予想が過大だったと謝罪。</title>
<link>http://www.sonorilo.net/2010/03/01/2721</link>
<description>南米チリ中部沿岸の大地震で発生した津波で、気象庁は１日午前１０時１５分、太平洋沿岸全域に出していた津波警報や注意報をすべて解除した。同庁の関田康雄・地震津波監視課長は同日午前の記者会見で、「津波の予測が過大だった。警報が長引き迷惑をかけたことをおわびしたい」と語った。 

地球のほぼ真裏で起こった地震で予想3m、実績1.2mは大当たりの範疇だと思います。「過大」と言いますが、警報が出ているにもかかわらず海岸地帯でマラソン大会を強行した気が狂ってるとしか思えない自治体が存在...</description>
<dc:date>2010-03-01T23:10:21+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><blockquote cite="http://www.asahi.com/special/chile/TKY201003010104.html" title="asahi.com（朝日新聞社）：津波注意報を解除　気象庁おわび「津波の予測過大」 - チリ地震"><p>南米チリ中部沿岸の大地震で発生した津波で、気象庁は１日午前１０時１５分、太平洋沿岸全域に出していた津波警報や注意報をすべて解除した。同庁の関田康雄・地震津波監視課長は同日午前の記者会見で、「津波の予測が過大だった。警報が長引き迷惑をかけたことをおわびしたい」と語った。 </p><div class="cite">
		(<cite><a href="http://www.asahi.com/special/chile/TKY201003010104.html">asahi.com（朝日新聞社）：津波注意報を解除　気象庁おわび「津波の予測過大」 - チリ地震</a></cite>より)
	    </div></blockquote>

<p>地球のほぼ真裏で起こった地震で予想3m、実績1.2mは大当たりの範疇だと思います。「過大」と言いますが、警報が出ているにもかかわらず海岸地帯でマラソン大会を強行した気が狂ってるとしか思えない自治体が存在することからも明らかなとおり、なんの根拠もなく勝手に過小に修正する人々が存在しますので、万が一過小な予想をした場合、甚大な被害が発生する可能性があります。</p>

<p>気象庁は批判に対し、「警報を無視し人命を軽視する人々が存在する以上、可能な限り大きな予想をしておく責任がある」と毅然として反論すべきでしょう。</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/02/23/2716">
<title>PAMの設定で悩みまくった記録</title>
<link>http://www.sonorilo.net/2010/02/23/2716</link>
<description>ワンタイムパスワードを使ってsshでログイン出来るようにするまでの/etc/pam.d/sshdをどう書いたらいいか悩みまくった試行錯誤の記録です。結論は、control-flagのsufficientは成功すればそこで打ち切りとマニュアルに書いてあるが実はそうではない。

まずデフォルト。


auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth       ...</description>
<dc:date>2010-02-23T12:54:42+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p><a href="/2010/02/23/2715">ワンタイムパスワードを使ってsshでログイン</a>出来るようにするまでの/etc/pam.d/sshdをどう書いたらいいか悩みまくった試行錯誤の記録です。結論は、<strong>control-flagのsufficientは成功すればそこで打ち切りとマニュアルに書いてあるが実はそうではない</strong>。</p>

<p>まずデフォルト。</p>

<pre class="code">
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
auth            required        pam_unix.so             no_warn try_first_pass
</pre>

<p>これがどういう意味になるかは<a href="/2010/02/08/2714">別記事に書きました</a>が、簡単に言うとワンタイムパスワードが有効なユーザーはワンタイムパスワード認証でログインでき、ワンタイムパスワードを設定していないユーザーはUNIX認証になります。</p>

<p>失敗例1。UNIX認証を無効にすればいいんだろ？とばかり最後の行をコメントアウトしたとしましょう。</p>

<pre class="code">
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
#auth           required        pam_unix.so             no_warn try_first_pass
</pre>

<p>ワンタイムパスワード認証が有効なユーザーでは変化ありませんが、そうでないユーザーはなんと<strong class="verystrong">パスワード無しでログインできてしまう</strong>という大変危険な設定です。</p>

<p>失敗例2。そうかそうか、ワンタイムパスワード認証を使わないユーザーは上2行を突破するからそこで拒否すればいいんだろう、ということで、こうする。</p>


<pre class="code">
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
auth            required        pam_deny.so
</pre>

<p>mod_deny.soはとにかく拒否、という認証モジュールです。これがどうなるかというと、ワンタイムパスワード認証を有効にしているユーザーもログインできなくなります。/var/log/auth.logを見ると</p>

<pre class="code">
sshd[]: Accepted keyboard-interactive/pam for shin from xxx.xxx.xxx.xxx port 12345 ssh2
sshd[]: fatal: PAM: pam_setcred(): failed to set user credentials
</pre>

<p>なんて出てます。パスワードを間違えたときは</p>

<pre class="code">
sshd[]: error: PAM: authentication error for foo from xxx.xxx.xxx.xxx
</pre>

<p>になるので、ワンタイムパスワード認証自体は正常に動いている様子。</p>

<p>マニュアルを見ても実際に試した結果でもcontrol-flagがsufficientのモジュールは成功すれば後ろの処理は走らないはずなので、後続に何が書いてあっても関係ないはず。なので、認証の問題ではなくてPAMのアカウント/セッション/パスワード管理がらみの問題かな、と判断し試行錯誤すること数日。</p>

<p>結局うまくいかないので、いよいよソースを追いかけてやっと原因がわかりました。</p>

<p>PAMの設定のauth(認証)サービスの部分は実は2回なめられます。実際の認証処理と、エラーメッセージにあるpam_setcred()の処理です。実際の認証処理ではcontrol-flagではマニュアル通りに処理されますが、pam_setcred()の処理でなめられるときは、sufficientだけ動作が異なり、成功しても処理が継続されるのです。<a href="http://www.jp.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/contrib/openpam/lib/openpam_dispatch.c?rev=1.1.1.9.20.1&amp;content-type=text/plain&amp;only_with_tag=RELENG_7_2_0_RELEASE">PAMのソース</a>に思いっきり書いてありました</p>

<p><blockquote><p><br/>
			/*<br/>
			 * For pam_setcred() and pam_chauthtok() with the<br/>
			 * PAM_PRELIM_CHECK flag, treat "sufficient" as<br/>
			 * "optional".<br/>
			 */<br/>
</p></blockquote></p>

<p>なんでこんな実装になってるんでしょうね。いやなんか意味はあるんでしょう。しかしみんなよくこんなの悩まずに設定できるなぁ。だれも使ってないのか？</p>

<p>理由がわかったところでどう設定すべきか改めて考えて結局こうなりました。</p>

<pre class="code">
auth            requisite       pam_opie.so             no_warn no_fake_prompts
</pre>

<p>とにかくシンプルに考えると、うちの要件ではワンタイムパスワード認証に成功するかどうかが全て、でいいのです。</p>

<p>なまじデフォルト設定をベースに考えると失敗する、という事例でした。</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/02/23/2715">
<title>FreeBSDでワンタイムパスワードを使ってsshログインする方法</title>
<link>http://www.sonorilo.net/2010/02/23/2715</link>
<description>FreeBSDには標準でワンタイムパスワード機構(OPIE)があり、ワンタイムパスワードでのsshログインが可能です。実際に試してみました。

前提


現在は公開鍵認証だけ有効になっている(普通そうしますよね)
UNIXアカウント/パスワード認証は引き続き使用しない


まずこれを実現するために、PAMのsshdの設定を変更します。/etc/pam.d/sshdです。デフォルトでは

auth            sufficient      pa...</description>
<dc:date>2010-02-23T12:45:22+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>FreeBSDには標準でワンタイムパスワード機構(OPIE)があり、ワンタイムパスワードでのsshログインが可能です。実際に試してみました。</p>

<p>前提</p>

<ul>
<li>現在は公開鍵認証だけ有効になっている(普通そうしますよね)</li>
<li>UNIXアカウント/パスワード認証は引き続き使用しない</li>
</ul>

<p>まずこれを実現するために、PAMのsshdの設定を変更します。/etc/pam.d/sshdです。デフォルトでは<br/>
<pre class="code">
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
#auth           sufficient      pam_krb5.so             no_warn try_first_pass
#auth           sufficient      pam_ssh.so              no_warn try_first_pass
auth            required        pam_unix.so             no_warn try_first_pass
</pre><br/>
こうなってるところを<br/>
<pre class="code">
auth            requisite       pam_opie.so             no_warn no_fake_prompts
</pre></p>

<p>これだけに変更します。この変更は十分注意してください。油断するとパスワード無しでログイン出来る状態になったりします。ここにたどり着くまでにえらい苦労したんですがそれは<a href="/2010/02/23/2716">別記</a>。</p>

<p>もしportsからsudoをインストールして使用している場合、こっちでもワンタイムパスワードが有効になってしまいます。それが鬱陶しい場合はsudoについてはワンタイムパスワード認証を無効にします。/usr/local/etc/pam.d/sudoの</p>

<pre class="code">
# auth
auth            include         system
</pre>

<p>こうなっているところを</p>

<pre class="code">
auth            required        pam_unix.so             no_warn try_first_pass
</pre>

<p>こう変更します。いっそのこと/etc/pam.d/systemの</p>

<pre class="code">
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
</pre>

<p>この行をコメントアウトしてしまってもいいかもしれません。</p>

<p>sshdの設定を変更します。/etc/ssh/sshd_configです。</p>

<pre class="code">
#ChallengeResponseAuthentication yes
 :
#UsePAM yes
</pre>

<p>デフォルトではこうですが、どっちかをnoにしていると思いますので元に戻します。変更したらsshdを再起動します。</p>

<p>公開鍵認証を使わずにログインを試して、リモートログイン出来ないことを確認します。繰り返しますが、設定ミスすると<strong>パスワード無しでログイン出来る</strong>状態になることがあります。</p>

<p>最後に、利用したいユーザーでワンタイムパスワードを有効にします。<em>ローカルまたは安全な接続のコンソール上で</em>opiepasswdを実行します</p>

<pre class="code">
% opiepasswd -c foo
Adding foo:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase: (パスフレーズ入力)
Again new secret pass phrase: (繰り返し)

ID foo OTP key is 499 ho1234
FOO BAR HOGE FUGA PIYO
</pre>

<p>これでユーザーfooのワンタイムパスワードが有効になりました。</p>

<p>最後から2行目にある499というのがシーケンスナンバーです。ワンタイムパスワードを1回使うと、この数字が1個減ります。その後のho1234はパスワードを生成するためのseed(種)です。ワンタイムパスワードを生成するにはシーケンスナンバーとseedとパスフレーズが必要です。</p>

<p>次に要求されるシーケンスナンバーは498になるので、作ってみます。</p>

<pre class="code">
% opiekey 498 ho1234
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
NESS REND NICE WHEN EVER MANA
</pre>

<p>sshで実際に接続してみると、このようなプロンプトが出ますので</p>

<pre class="code">
% ssh remotehost
otp-md5 498 ho1234 ext
Password:
</pre>

<p>さっき生成された"NESS REND NICE WHEN EVER MANA"を入力するとログインできるはずです。</p>

<p>ワンタイムパスワードはログイン先のホストで生成する必要はありません。シーケンス番号とseedとパスフレーズで一意なものが生成されるので、手元のホストでopiekeyコマンドを使って生成されたパスワードでもログインできます。他のOS用のパスワード生成機もあるらしいのですが実物は見つけられていません。</p>

<p>手元でパスワードが生成できない場合、opiekeyに-nオプションを付けると複数のパスワードを生成できます</p>

<pre class="code">
% opiekey -n 5 999 ho1234
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
995: RACY FAT YAP TIE FORT NAP
996: GIN AWAY DIN HUGE FORT PAP
997: SKIM PAW BONE FALL DUMB BOCK
998: MITE CODY DUSK REEL GLUM ARK
999: HALE PET GEE WYNN DANK AWN
</pre>

<p>ので、これを控えておけばいいでしょう。未使用の物を間違っても落とさないように。</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/02/08/2714">
<title>pam.confのcontrol-flagの意味</title>
<link>http://www.sonorilo.net/2010/02/08/2714</link>
<description>よくわかんないので表にしてみた


	
		
		
		継続されるか
		後続モジュール
	
	
		success
		fail
	
	
		required
		success
		yes
		success
		fail
	
	
		fail
		yes
		fail
		fail
	
	
		requisite
		success
		yes
		success
		fail
	
	
		fail
...</description>
<dc:date>2010-02-08T12:44:01+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>よくわかんないので表にしてみた</p>

<table>
	<tr>
		<td rowspan="2"/>
		<td rowspan="2"/>
		<td rowspan="2">継続されるか</td>
		<td colspan="2">後続モジュール</td>
	</tr>
	<tr>
		<td>success</td>
		<td>fail</td>
	</tr>
	<tr>
		<td rowspan="2">required</td>
		<td>success</td>
		<td>yes</td>
		<td>success</td>
		<td>fail</td>
	</tr>
	<tr>
		<td>fail</td>
		<td>yes</td>
		<td>fail</td>
		<td>fail</td>
	</tr>
	<tr>
		<td rowspan="2">requisite</td>
		<td>success</td>
		<td>yes</td>
		<td>success</td>
		<td>fail</td>
	</tr>
	<tr>
		<td>fail</td>
		<td>no</td>
		<td>-</td>
		<td>-</td>
	</tr>
	<tr>
		<td rowspan="2">sufficient</td>
		<td>success</td>
		<td>no</td>
		<td>-</td>
		<td>-</td>
	</tr>
	<tr>
		<td>fail</td>
		<td>yes</td>
		<td>success</td>
		<td>fail</td>
	</tr>
	<tr>
		<td rowspan="2">binding</td>
		<td>success</td>
		<td>no</td>
		<td>-</td>
		<td>-</td>
	</tr>
	<tr>
		<td>fail</td>
		<td>yes</td>
		<td>fail</td>
		<td>fail</td>
	</tr>
	<tr>
		<td rowspan="2">optional</td>
		<td>success</td>
		<td>yes</td>
		<td>success</td>
		<td>fail</td>
	</tr>
	<tr>
		<td>fail</td>
		<td>yes</td>
		<td>success</td>
		<td>fail</td>
	</tr>
</table>

<p>例えばFreeBSDの/etc/pam.d/sshdはこうなってる。</p>

<pre class="code">
auth sufficient pam_opie.so       no_warn no_fake_prompts
auth requisite  pam_opieaccess.so no_warn allow_local
auth required   pam_unix.so       no_warn try_first_pass
</pre>

<p>1行目。OPIEを有効にしているユーザーであれば、OPIEの認証に成功すればそこでおしまい。失敗したら先に進む。OPIEを有効にしていないユーザーは失敗するので先に進む。</p>

<p>2行目。詳しくはman pam_opieaccessなんだけどデフォルトではOPIEを有効にしているユーザーは失敗してそこでおしまい。OPIEを有効にしているユーザーは成功するので先に進む</p>

<p>3行目。UNIXアカウント認証に成功すれば成功。sufficient(fail)-&gt;requisite(success)-&gt;required(success)と北野で最終結果は成功。</p>

<p><dl><br/>
<dt>required</dt><br/>
<dd>そのモジュールが成功しない限り全体が失敗するが、処理は続く。(失敗しても処理を続ける意味はよくわからない。pam_execとかでプログラム動かしてなんかするときのため？)</dd><br/>
<dt>requisite</dt><br/>
<dd>そのモジュールが成功しない限り全体が失敗する。失敗したときに後続を動かしたくないときはこれ。(例えば後ろにpam_unix.soがいるとrequiredだとプロンプトが出るがrequisiteだとでない)</dd><br/>
<dt>sufficient</dt><br/>
<dd>これが成功すれば(前段で失敗条件を満たしていなければ)認証成功。失敗しても後続で救済</dd><br/>
<dt>biding</dt><br/>
<dd>これが成功すれば(前段で失敗条件を満たしていなければ)認証成功。失敗したら全体が失敗。</dd><br/>
<dt>optional</dt><br/>
<dd>成功しようとしまいと結果は後続次第。</dd><br/>
</dl></p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/02/04/2712">
<title>本日のお買い物</title>
<link>http://www.sonorilo.net/2010/02/04/2712</link>
<description>ABC-MARTで仕事用の靴。底が抜けて水がしみてくるようになったので。安いのもいくつかあったけど結局前と同じもの。これで3回連続。\9,990

鬼おろし。プラスチック製。\105

桃屋の辛そうで辛くない少し辛いラー油</description>
<dc:date>2010-02-04T23:27:53+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>ABC-MARTで仕事用の靴。底が抜けて水がしみてくるようになったので。安いのもいくつかあったけど結局前と同じもの。これで3回連続。\9,990</p>

<p>鬼おろし。プラスチック製。\105</p>

<p>桃屋の辛そうで辛くない少し辛いラー油</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2010/01/25/2711">
<title>アバター</title>
<link>http://www.sonorilo.net/2010/01/25/2711</link>
<description>3D上映初挑戦というわけでアバター。

赤青メガネのイメージが残っていたのであんまり期待してませんでしたが、結構すごい。「思わずのけぞった」りはしませんでしたがまぁそれなりに3D見えますね

しかし、字幕まで立体にする必要は無かったんじゃないかと。しかもいつもの字幕に比べて画面の中央に近い。したがって大変鬱陶しい。

次は吹き替えでアニメ見てみますかね。評価はそれから。</description>
<dc:date>2010-01-25T21:40:37+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>3D上映初挑戦というわけでアバター。</p>

<p>赤青メガネのイメージが残っていたのであんまり期待してませんでしたが、結構すごい。「思わずのけぞった」りはしませんでしたがまぁそれなりに3D見えますね</p>

<p>しかし、字幕まで立体にする必要は無かったんじゃないかと。しかもいつもの字幕に比べて画面の中央に近い。したがって大変鬱陶しい。</p>

<p>次は吹き替えでアニメ見てみますかね。評価はそれから。</p></div>
]]></content:encoded>
</item>
<item rdf:about="http://www.sonorilo.net/2009/11/23/2710">
<title>東山で紅葉狩り</title>
<link>http://www.sonorilo.net/2009/11/23/2710</link>
<description>京阪三条からスタート



通りがかると「だん王」って何？っていつも思ってしまうんですが人の名前でしたか。見事な銀杏のある檀王法林寺。



工場かなんかかと思ったら飯屋



粟田神社



蹴上から南禅寺



南禅寺の裏にある最勝院高徳庵。



南禅寺に戻ります。




哲学の道




ねらったようにナイスなポジションに猫がいました。



この直後、無神経に近づいていったバカのせいで逃げ...</description>
<dc:date>2010-01-19T00:34:15+09:00</dc:date>
<content:encoded><![CDATA[<div class="text"><p>京阪三条からスタート</p>

<p><a href="http://www.flickr.com/photos/suzukis/4145738078"><img width="240" height="161" src="http://farm3.static.flickr.com/2552/4145738078_7b353086fe_m.jpg" alt="IMGP3924"/></a></p>

<p>通りがかると「だん王」って何？っていつも思ってしまうんですが<a href="http://www.dannoh.com/history/history01.html">人の名前でしたか</a>。見事な銀杏のある檀王法林寺。</p>

<p><a href="http://www.flickr.com/photos/suzukis/4144980153"><img width="240" height="161" src="http://farm3.static.flickr.com/2584/4144980153_20766c7ae8_m.jpg" alt="IMGP3927"/></a><a href="http://www.flickr.com/photos/suzukis/4144983097"><img width="240" height="161" src="http://farm3.static.flickr.com/2510/4144983097_58f3ca632b_m.jpg" alt="IMGP3929"/></a></p>

<p>工場かなんかかと思ったら飯屋</p>

<p><a href="http://www.flickr.com/photos/suzukis/4145747360"><img width="240" height="161" src="http://farm3.static.flickr.com/2655/4145747360_ed6b543801_m.jpg" alt="IMGP3933"/></a></p>

<p>粟田神社</p>

<p><a href="http://www.flickr.com/photos/suzukis/4144989461"><img width="161" height="240" src="http://farm3.static.flickr.com/2721/4144989461_fb04f669d3_m.jpg" alt="IMGP3936"/></a><a href="http://www.flickr.com/photos/suzukis/4145751716"><img width="240" height="161" src="http://farm3.static.flickr.com/2608/4145751716_da10597bf2_m.jpg" alt="IMGP3938"/></a><a href="http://www.flickr.com/photos/suzukis/4145755810"><img width="240" height="161" src="http://farm3.static.flickr.com/2603/4145755810_edb99d2a67_m.jpg" alt="IMGP3940"/></a><a href="http://www.flickr.com/photos/suzukis/4145757712"><img width="240" height="161" src="http://farm3.static.flickr.com/2675/4145757712_b89f1b83d6_m.jpg" alt="IMGP3942"/></a></p>

<p>蹴上から南禅寺</p>

<p><a href="http://www.flickr.com/photos/suzukis/4145761694"><img width="240" height="161" src="http://farm3.static.flickr.com/2500/4145761694_1a9a47a621_m.jpg" alt="IMGP3945"/></a><a href="http://www.flickr.com/photos/suzukis/4145765508"><img width="240" height="161" src="http://farm3.static.flickr.com/2739/4145765508_e6a4f06170_m.jpg" alt="IMGP3947"/></a><a href="http://www.flickr.com/photos/suzukis/4145768086"><img width="240" height="161" src="http://farm3.static.flickr.com/2657/4145768086_85c53c3ae2_m.jpg" alt="IMGP3949"/></a><a href="http://www.flickr.com/photos/suzukis/4145765508"><img width="240" height="161" src="http://farm3.static.flickr.com/2739/4145765508_e6a4f06170_m.jpg" alt="IMGP3947"/></a><a href="http://www.flickr.com/photos/suzukis/4145019317"><img width="240" height="161" src="http://farm3.static.flickr.com/2594/4145019317_a485d86c5b_m.jpg" alt="IMGP3960"/></a><a href="http://www.flickr.com/photos/suzukis/4145765508"><img width="240" height="161" src="http://farm3.static.flickr.com/2739/4145765508_e6a4f06170_m.jpg" alt="IMGP3947"/></a></p>

<p>南禅寺の裏にある最勝院高徳庵。</p>

<p><a href="http://www.flickr.com/photos/suzukis/4145790004"><img width="161" height="240" src="http://farm3.static.flickr.com/2563/4145790004_4d61c96cc9_m.jpg" alt="IMGP3972"/></a></p>

<p>南禅寺に戻ります。</p>


<p><a href="http://www.flickr.com/photos/suzukis/4145059933"><img width="240" height="161" src="http://farm3.static.flickr.com/2763/4145059933_c41f1c5779_m.jpg" alt="IMGP4008"/></a></p>

<p>哲学の道</p>

<p><a href="http://www.flickr.com/photos/suzukis/4145086415"><img width="240" height="161" src="http://farm3.static.flickr.com/2692/4145086415_67c8cd8681_m.jpg" alt="IMGP4036"/></a><a href="http://www.flickr.com/photos/suzukis/4145857786"><img width="240" height="161" src="http://farm3.static.flickr.com/2711/4145857786_e30a3f4184_m.jpg" alt="IMGP4047"/></a>
<a href="http://www.flickr.com/photos/suzukis/4145907850"><img width="240" height="161" src="http://farm3.static.flickr.com/2535/4145907850_faa63b50e5_m.jpg" alt="IMGP4085"/></a></p>

<p>ねらったようにナイスなポジションに猫がいました。</p>

<p><a href="http://www.flickr.com/photos/suzukis/4145113367"><img width="161" height="240" src="http://farm3.static.flickr.com/2727/4145113367_368c8d64fb_m.jpg" alt="IMGP4058"/></a></p>

<p>この直後、無神経に近づいていったバカのせいで逃げてしまいました。</p>

<p>出町柳に戻っておしまい。</p>

<p><a href="http://www.flickr.com/photos/suzukis/4145159313"><img width="240" height="161" src="http://farm3.static.flickr.com/2739/4145159313_7d95ac56f1_m.jpg" alt="IMGP4092"/></a></p>

<p><a href="http://www.flickr.com/photos/suzukis/sets/72157622902110188/">全部の写真</a></p>

<p><a href="http://www.everytrail.com">Map your trip with EveryTrail</a> : <a href="http://www.everytrail.com/view_trip.php?trip_id=474448">東山で紅葉狩り</a></p>


    
    
    <embed src="http://www.everytrail.com/swf/widget.swf" quality="high" width="400" height="300" FlashVars="tripId=474448&amp;units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;startLat=35.009365&amp;startLon=135.77356&amp;stats=off&amp;userId=11985&amp;mapType=Terrain" play="true" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"/><br/>


</div>
]]></content:encoded>
</item>
</rdf:RDF>