<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>www.tietew.jp</title>
	<atom:link href="http://www.tietew.jp/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tietew.jp</link>
	<description></description>
	<lastBuildDate>Thu, 22 Dec 2011 20:35:30 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>お待たせしました</title>
		<link>http://www.tietew.jp/2010/07/17/%e3%81%8a%e5%be%85%e3%81%9f%e3%81%9b%e3%81%97%e3%81%be%e3%81%97%e3%81%9f</link>
		<comments>http://www.tietew.jp/2010/07/17/%e3%81%8a%e5%be%85%e3%81%9f%e3%81%9b%e3%81%97%e3%81%be%e3%81%97%e3%81%9f#comments</comments>
		<pubDate>Sat, 17 Jul 2010 07:10:37 +0000</pubDate>
		<dc:creator>Tietew</dc:creator>
				<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">http://www.tietew.jp/?p=25</guid>
		<description><![CDATA[サーバマシンまた新調しまして。今度はCore i7ですよ奥さん！　ていうか更新3年ぶりですよ！
近況とか。

最近はTwitterに出没してます。
iPhone 4買いました。WILLCOMとはお別れの予定です。10年使 &#8230; <a href="http://www.tietew.jp/2010/07/17/%e3%81%8a%e5%be%85%e3%81%9f%e3%81%9b%e3%81%97%e3%81%be%e3%81%97%e3%81%9f">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>サーバマシンまた新調しまして。今度はCore i7ですよ奥さん！　ていうか更新3年ぶりですよ！</p>
<p>近況とか。</p>
<ul>
<li>最近は<a title="@Tietew" href="http://twitter.com/Tietew">Twitter</a>に出没してます。</li>
<li>iPhone 4買いました。WILLCOMとはお別れの予定です。10年使ってたんですけどね。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tietew.jp/2010/07/17/%e3%81%8a%e5%be%85%e3%81%9f%e3%81%9b%e3%81%97%e3%81%be%e3%81%97%e3%81%9f/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>理解されないHTMLエスケープ</title>
		<link>http://www.tietew.jp/2007/02/07/misunderstood-html-escaping</link>
		<comments>http://www.tietew.jp/2007/02/07/misunderstood-html-escaping#comments</comments>
		<pubDate>Wed, 07 Feb 2007 05:46:00 +0000</pubDate>
		<dc:creator>Tietew</dc:creator>
				<category><![CDATA[web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[WASF Times版「サニタイズ言うな!」 by 高木浩光＠自宅の日記 に 終わりなきサニタイズ言うなキャンペーン というトラックバックがついている。
このエントリを読むとエスケープという処理が如何に理解されていないか &#8230; <a href="http://www.tietew.jp/2007/02/07/misunderstood-html-escaping">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://takagi-hiromitsu.jp/diary/20070203.html"><span class="caps">WASF</span> Times版「サニタイズ言うな!」 by 高木浩光＠自宅の日記</a> に <a href="http://denchan.blog.shinobi.jp/Entry/153/">終わりなきサニタイズ言うなキャンペーン</a> というトラックバックがついている。</p>
<p>このエントリを読むとエスケープという処理が如何に理解されていないか、ということが見えてくる。</p>
<h3>誤解1. エスケープによってサーバに帰ってきたときに結果が変化すると思いこむ</h3>
<blockquote><p>「テキスト」として表示される情報は表示された時点で役目を終えますが、&lt;input&gt;や&lt;textarea&gt;の情報はサーバに返ってくるものなので、変更せずに返された場合は可能な限り元の情報と同じとなるようなエスケープ処理を施したい。</p></blockquote>
<p>サーバに帰ってくるデータは、ブラウザ (ユーザエージェント) がHTMLを解釈し、アンエスケープ<strong>した後</strong>のデータである。例を出そう。</p>
<table>
<tbody>
<tr>
<td style="vertical-align: top;"><span class="caps">HTML</span>:</td>
<td>
<pre style="margin: 0;">&lt;form action="/some/where" method="get"&gt;
&lt;input type="text" name="foo" value="&amp;#x41;BC"&gt;
&lt;input type="text" name="bar" value="A&amp;#x42;&amp;#x43;"&gt;
&lt;/form&gt;</pre>
</td>
</tr>
<tr>
<td style="vertical-align: top;">結果:</td>
<td><span class="caps">GET</span> /some/where?foo=ABC&amp;bar=ABC <span class="caps">HTTP</span>/1.1</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td style="vertical-align: top;"><span class="caps">HTML</span>:</td>
<td>
<pre style="margin: 0;">&lt;a href="/some/where?foo=&amp;#x41;BC&amp;amp;bar=A&amp;#x42;&amp;#x43;"&gt;blah blah&lt;/a&gt;</pre>
</td>
</tr>
<tr>
<td style="vertical-align: top;">結果:</td>
<td><span class="caps">GET</span> /some/where?foo=ABC&amp;bar=ABC <span class="caps">HTTP</span>/1.1</td>
</tr>
</tbody>
</table>
<p><span class="caps">HTML</span>エスケープはたかだか、出力したHTMLを解釈する時点において効果を発揮するに過ぎない。HTMLパーサはエスケープを入力時に正しくアンエスケープする (データ入力時のアンエスケープ行為)。ユーザエージェントが出力する際に、アンエスケープ後のデータを出力するメソッド (フォームの場合は<del><span class="caps">URL</span>エンコード</del><ins>パーセントエンコーディング</ins>) で正しくエスケープする。</p>
<p><a href="http://www.ne.jp/asahi/minazuki/bakera/html/opinion/ampersand">鳩丸ご意見番 – <span class="caps">URI</span> の中に &amp; を書くべからず</a> も参考にして欲しい (この記事も若干誤解を招くタイトルだが)。</p>
<p><span id="more-12"></span></p>
<h3>誤解2. 見た目が同じならば解釈はいつも同じだと思ってしまう</h3>
<blockquote><p>「テキスト」や&lt;textarea&gt;は一部のタグや改行コードなどの制御記号を許容したり改行→&lt;br&gt;タグへの変換を行う事もありますが、&lt;input&gt;タグでは制御コードもタグも許容しない（&lt;input&gt;でタグを許容する事ってあるのかな？）。</p></blockquote>
<p>テキストに一部のタグを許容、するのはまだ良いのだが、textareaや果てはinput要素にまで「タグを許容」云々の話が出てくるのは、完全に間違いである。</p>
<ol>
<li>textearea要素はその内容に一切のタグを書く (要素を入れる) ことはできない。内容はただのテキストデータである。</li>
<li>input要素のvalue属性 (というより全ての要素の全ての属性) は、HTMLにとってただのテキストデータであって、「タグ」という存在が入り込む余地がない。</li>
<li>ただし、スペース・改行・タブ以外の制御コードを排除する<strong>サニタイズ</strong>を施すことは、たいてい無害であり、時には有用である。<sup><a href="#fn1">1</a></sup></li>
</ol>
<p>たとえば、 <code>&lt;input type="text" value="&lt;br&gt;"&gt;</code> というHTML断片は、文法的に正しいHTMLであるが、このinput要素のvalue属性には <code>&lt;br&gt;</code> という<strong>文字列</strong>が入っているに過ぎない。これはbrタグではない。これは <code>&lt;input type="text" value="&amp;lt;br&amp;gt;"&gt;</code> と記述した場合と<strong>完全に等価</strong>である。等価でないならば、そのHTMLパーサには根本的なバグがあるから捨てた方がよい。</p>
<p>もっとも、上の例のようなタグはたとえ文法的に正しくても、書くべきではない。属性値ではただしくHTMLエスケープを施し、 <code>&lt;input type="text" value="&amp;lt;br&amp;gt;"&gt;</code> と書くべきである。</p>
<h3>誤解3. JavaScriptから読むとタグが解釈されると思っている</h3>
<blockquote><p>&lt;textarea&gt;や&lt;input&gt;タグは、リッチ入力フィールドなどの実装によりJavascriptからも読まれるため、可能な限り記号エスケープは避けたいかも。</p></blockquote>
<p>誤解2.でも述べたが、textareaの内容や、要素の属性は「単なるテキストデータ」である。これはスクリプトから読もうが同じだ。</p>
<p>ここで注意すべきは、スクリプトがdocument.writeや <em>element</em>.innerHTML等で<strong><span class="caps">HTML</span>として</strong>出力するデータは、<strong><span class="caps">HTML</span>として出力時のエスケープ処理の対象である</strong>ということである。上の例にあるinput要素からvalueの値を取り出し (ここではまだ文字列 <code>"&lt;br&gt;"</code>)、他の要素の innerHTML プロパティに代入したとしよう。ここで <code>&lt;br&gt;</code> が初めて「タグ」として解釈される。このときに適切にエスケープする責任は<strong>スクリプトにある</strong>。</p>
<p>なぜか。リッチテキストをスクリプトで実現するならば、ユーザが危険なタグを自ら入力する際も、適切にエスケープする責任がスクリプトにあるからである。<sup><a href="#fn2">2</a></sup></p>
<h3>結論</h3>
<p>基本を守る、つまり……</p>
<ol>
<li>入力時にアンエスケープを施す。これはライブラリやフレームワークが自動的に行ってくれる場合が多く、また任せるべきである。<sup><a href="#fn3">3</a></sup></li>
<li>出力時に、出力に合わせた方法でエスケープする。
<ul>
<li><span class="caps">SQL</span>を組み立てる場合のように、内部の処理であっても、そのプログラムにとって<strong><span class="caps">SQL</span>という出力</strong>であるということを忘れない。</li>
<li><span class="caps">HTML</span>もそうだが、文脈によってエスケープの方法が変わることがある。たとえば、URLのクエリ文字列にデータを埋め込む場合は<del datetime="2007-02-09T16:35:00+09:00"><span class="caps">URL</span>エンコード</del><ins datetime="2007-02-09T16:35:00+09:00">パーセントエンコーディング</ins>を施す必要がある等。</li>
</ul>
</li>
<li>またはエスケープしなくて良い出力方法を選択する。
<ul>
<li><span class="caps">DOM</span>であればcreateTextNodeを使う</li>
<li>snprintfではなく、strncpyを使う。fprintfではなく、fputsやfwriteを使う。</li>
</ul>
</li>
</ol>
<p>これらを守っていれば、100%データは安全である。</p>
<p>高木氏のエントリではCSRFについて触れられているが、CSRFではデータの運搬フローが脆弱なだけで、データの<strong>意味</strong>を途中で改竄されてはいないことに注目したい。</p>
<hr /><span style="color: #000000; line-height: 23px;">追記 (2007-02-09)</span></p>
<p><a href="http://www.faqs.org/rfcs/rfc3986.html"><span class="caps">RFC 3986</span></a> で %xx のようなURIで使うエンコーディングは <strong>パーセントエンコーディング</strong> と呼ぶと決まっていたことを思い出したので、訂正した。</p>
<hr /><sup>1</sup> ISO-2022-JPのようなステートフルな文字エンコーディングを使っている場合、エスケープシーケンスを除去しないようにしなければならない。コードを複雑にしないために、ステートフルな文字エンコーディングをWebアプリケーションでは使用しないことをお薦めする。</p>
<p id="fn2"><sup>2</sup> リッチテキストのフォーマット処理をAjaxでサーバ側に委任することも最近は多いと思う。この場合は当然、適切なエスケープの責任はAjaxリクエストを受け入れるサーバ側にある。</p>
<p id="fn3"><sup>3</sup> ただしphpのmagic_quoteは典型的な入力時サニタイズであり、有害である。使ってはならない。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tietew.jp/2007/02/07/misunderstood-html-escaping/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenVPNで拠点間VPNを張る</title>
		<link>http://www.tietew.jp/2007/02/01/how-to-create-pointopoint-vpn-using-openvpn</link>
		<comments>http://www.tietew.jp/2007/02/01/how-to-create-pointopoint-vpn-using-openvpn#comments</comments>
		<pubDate>Thu, 01 Feb 2007 10:09:00 +0000</pubDate>
		<dc:creator>Tietew</dc:creator>
				<category><![CDATA[memo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[OpenVPN を使ってLAN同士を繋ぐ、いわゆる拠点間VPNを作る。やり方を忘れないためのメモエントリー。
拠点間VPNなので、

Point-to-pointで張り、通すプロトコルはIPだけでいいので、TUNデバイス &#8230; <a href="http://www.tietew.jp/2007/02/01/how-to-create-pointopoint-vpn-using-openvpn">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://openvpn.net/">OpenVPN</a> を使ってLAN同士を繋ぐ、いわゆる拠点間VPNを作る。やり方を忘れないためのメモエントリー。</p>
<p>拠点間VPNなので、</p>
<ol>
<li>Point-to-pointで張り、通すプロトコルはIPだけでいいので、TUNデバイスを使う。</li>
<li><a href="http://www.tietew.jp/articles/2007/01/30/how-to-setup-ca-using-openssl">前に作ったオレオレ認証局</a> で公開鍵認証を行う。</li>
<li>拠点甲（サーバ側）のネットワークは 192.168.1.0/24</li>
<li>拠点乙（クライアント側）のネットワークは 192.168.2.0/24</li>
<li><span class="caps">POINTOPOINT</span> で使うIPアドレスは 192.168.100.1 &amp; 2</li>
</ol>
<h3><span id="more-13"></span>拠点甲</h3>
<p>接続を待ち受ける側。</p>
<p>まず、証明書を作る。それぞれ server.crt と server.key</p>
<pre>tls-server
proto udp
port 5000

dev tun
comp-lzo

dh /etc/ssl/dh2048.pem
ca /etc/ssl/cacert.pem
cert server.crt
key server.key

ifconfig 192.168.100.1 192.168.100.2
route 192.168.2.0 255.255.255.0
push "ifconfig 192.168.100.2 192.168.100.1"
push "route 192.168.1.0 255.255.255.0" 

keepalive 10 60
ping-timer-rem
persist-key
persist-tun

user openvpn
group openvpn

verb 3
mute 10</pre>
<p>ポイント:</p>
<ul>
<li>tls-server — <span class="caps">TLS</span>サーバ</li>
<li>dev tun — <span class="caps">TUN</span>デバイス (Point-to-point) を使用</li>
<li>ifconfig — ローカルとピアのIPアドレスを設定</li>
<li>route — ルーティングの作成 (ip route add 192.168.2.0/24 via 192.168.100.2 と同じ)</li>
<li>push — 拠点乙のIPアドレス・ルーティング設定をここで書く。乙は pull で呼び出す。</li>
</ul>
<p>あとは起動</p>
<pre># /etc/init.d/openvpn start</pre>
<h3>拠点乙</h3>
<p>甲に接続する側。</p>
<p>こちらも証明書を作る。CSRと鍵の生成は必ず証明書を使うマシンで行う。こうすることで鍵ファイルを受け渡さなくて済む。あと、甲のCA証明書 (cacert.pem) をコピーして、/etc/openvpn/cacert.pem に保存。</p>
<pre>tls-client
remote *****.tietew.jp
proto udp
port 5000
dev tun
comp-lzo

nobind
pull

dh /etc/ssl/dh2048.pem
ca cacert.pem
cert client.crt
key client.key

keepalive 10 60
ping-timer-rem
persist-tun
persist-key

user openvpn
group openvpn

verb 3
mute 10</pre>
<p>ポイント:</p>
<ul>
<li>tls-client — <span class="caps">TLS</span>クライアント</li>
<li>remote — 接続先（拠点甲）</li>
<li>nobind — <span class="caps">UDP</span>ポートをbindしない。</li>
<li>pull — サーバ側の push を受け取る。これでIPアドレスやルーティングを設定できる。</li>
</ul>
<p>こんな感じになっていればオッケー（これは甲のほう）</p>
<pre># ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.100.1  P-t-P:192.168.100.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:635290 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1218418 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:26877015 (25.6 MiB)  TX bytes:1134325226 (1.0 GiB)</pre>
<p>いつも思うけどPOINTOPOINTという単語が謎。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tietew.jp/2007/02/01/how-to-create-pointopoint-vpn-using-openvpn/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSSLでオレオレ認証局を立ち上げる</title>
		<link>http://www.tietew.jp/2007/01/30/how-to-setup-ca-using-openssl</link>
		<comments>http://www.tietew.jp/2007/01/30/how-to-setup-ca-using-openssl#comments</comments>
		<pubDate>Tue, 30 Jan 2007 10:51:00 +0000</pubDate>
		<dc:creator>Tietew</dc:creator>
				<category><![CDATA[memo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[いつもいつも忘れてしまうのでメモエントリー。
SMTP, POP3, IMAP4, あとOpenVPNに使いたいので、第四種オレオレ認証局 を立ち上げて証明書を発行する。ユーザーは俺しか居ない。
ルート証明書（自己署名証 &#8230; <a href="http://www.tietew.jp/2007/01/30/how-to-setup-ca-using-openssl">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>いつもいつも忘れてしまうのでメモエントリー。</p>
<p><span class="caps">SMTP</span>, POP3, <span class="caps">IMAP4</span>, あとOpenVPNに使いたいので、<a href="http://takagi-hiromitsu.jp/diary/20051118.html#p01">第四種オレオレ認証局</a> を立ち上げて証明書を発行する。ユーザーは俺しか居ない。</p>
<h3><span id="more-14"></span>ルート証明書（自己署名証明書、通称オレオレ証明書）の準備</h3>
<pre># cd /path/to/ca
# touch index.txt
# echo 1 &gt; serial
# mkdir newcerts
# openssl req -new -newkey rsa:2048 -keyout private/cakey.pem -out careq.pem
# openssl ca -in careq.pem -out cacert.pem -selfsign -days 3650 -extensions v3_ca -batch</pre>
<p>ポイント</p>
<ul>
<li><code>-newkey rsa:2048</code> — <span class="caps">RSA2048</span>ビットの鍵</li>
<li><code>-selfsign</code> — 自己署名</li>
<li><code>-days 3650</code> — 10年間有効 (鍵の管理に自信がないなら真似しないこと!)</li>
<li><code>-extensions v3_ca</code> — CAであるというSubject Typeを埋め込む。これを付けないとIE7などのチェックの厳しいブラウザは証明書チェインの検証で失敗する。</li>
</ul>
<p>主に最後の理由でCA.shを使っていない。これでcacert.pemにCAのルート証明書（オレオレ証明書）ができる。<strong>鍵とパスフレーズは死守</strong>。</p>
<p>おまけとしてDHパラメタを計算しておくとあとで楽 (i.e. OpenVPNはこれを要求する)。いまどきのCPUなら1分もかからない。</p>
<pre># openssl dhparam -out dh1024.pem 1024
# openssl dhparam -out dh2048.pem 2048</pre>
<p>cacert.pemを安全な伝送路（有線LAN、物理メディア、印刷等）でクライアントマシンに伝送し、ブラウザ等にインストールする。</p>
<h3>サーバ証明書の作成</h3>
<p>まずサーバ管理者の立場で、CSR (Certificate Signing Request) を作成する。</p>
<pre># openssl req -new -newkey rsa:2048 -nodes -keyout cert.key -out cert.csr</pre>
<p>次にCA管理者の立場で、ルート証明書を使ってCSRに署名し、サーバ証明書を作成する。</p>
<pre># openssl ca -in cert.csr -out cert.crt -batch</pre>
<p><span class="caps">SSL</span>サーバで使うのはcert.crtとcert.key。ApacheならSSLCertificateFileとSSLCertificateKeyFileにそれぞれ指定。</p>
<p>サービスによっては (i.e. courier-pop3d) 証明書、鍵、DHパラメータをまとめたファイルを要求するので、そういう場合は単に繋げてしまえばいい。繋げた場合はパーミッションを忘れずに落としておく。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tietew.jp/2007/01/30/how-to-setup-ca-using-openssl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>サーバリフレッシュ</title>
		<link>http://www.tietew.jp/2007/01/28/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%aa%e3%83%95%e3%83%ac%e3%83%83%e3%82%b7%e3%83%a5</link>
		<comments>http://www.tietew.jp/2007/01/28/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%aa%e3%83%95%e3%83%ac%e3%83%83%e3%82%b7%e3%83%a5#comments</comments>
		<pubDate>Sat, 27 Jan 2007 16:29:00 +0000</pubDate>
		<dc:creator>Tietew</dc:creator>
				<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[もいん。
サーバをリフレッシュしました。
これを機会にBlogにすることにしました。
他のコンテンツは少しずつ移行してゆきます。
まだ暫くご面倒をおかけしますがご容赦ください。
わたしの作ったソフトウェアをお探しの方へ: &#8230; <a href="http://www.tietew.jp/2007/01/28/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%aa%e3%83%95%e3%83%ac%e3%83%83%e3%82%b7%e3%83%a5">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>もいん。</p>
<p>サーバをリフレッシュしました。<br />
これを機会にBlogにすることにしました。<br />
他のコンテンツは少しずつ移行してゆきます。<br />
まだ暫くご面倒をおかけしますがご容赦ください。</p>
<p><strong>わたしの作ったソフトウェアをお探しの方へ</strong>: <a href="/pages/archive">アーカイブ</a> に置いてあります。取り敢えずそこからダウンロードください。m(__)m</p>
<h3>メーリングリストアーカイブとか</h3>
<p>メーリングリストアーカイブは統合しました。Ruby on Railsを使った書き下ろしです。それぞれのアーカイブはこちら:</p>
<ul>
<li><a href="http://ml.tietew.jp/b2search">Becky! Ver.2 関連アーカイブ検索サービス</a></li>
<li><a href="http://ml.tietew.jp/cppll">C++: language&amp;libraries</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tietew.jp/2007/01/28/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%aa%e3%83%95%e3%83%ac%e3%83%83%e3%82%b7%e3%83%a5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

