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

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

<channel rdf:about="http://blog.cgi-bin.jp/">
<title>鯖缶Blog</title>
<link>http://blog.cgi-bin.jp/</link>
<description>ウェブサービスcgi-bin.jpのサーバ管理者のブログです。障害情報や、新サービスの開発情報などをお伝えします。</description>
<dc:language>ja</dc:language>
<admin:generatorAgent rdf:resource="http://blog.seesaa.jp/" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/270461723.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/270160314.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/267874760.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/265965461.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/245793671.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/245588255.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/245576081.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/245382329.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/244470918.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/242161138.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/239816065.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/239320202.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/238428157.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/238140099.html" />
<rdf:li rdf:resource="http://blog.cgi-bin.jp/article/238137622.html" />
</rdf:Seq>
</items>
</channel>

<item rdf:about="http://blog.cgi-bin.jp/article/270461723.html">
<link>http://blog.cgi-bin.jp/article/270461723.html</link>
<title>複数ドメインにおける広告の表示方法について</title>
<description>　ちょっと技術的な話題ではありませんが。　無料サービスを維持していくのに必要なモノ。広告などの収入源メンテナンスできる技術力モチベーション・・・なんかどれも今の私に欠けてる気がするorz　で、広告などについては、例えばGoogleAdsenceは１つのサイトで審査を通れば、他の管理するサイトにも貼れます。一方、Amazonは追加するURLを連絡しなければいけませんし、ValueCommerceやA8.netもサイト登録をしなければなりません。　では複数ドメインをまとめて１つの..</description>
<dc:subject>ただいま開発中</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-05-17T23:35:22+09:00</dc:date>
<content:encoded><![CDATA[
　ちょっと技術的な話題ではありませんが。<br />　無料サービスを維持していくのに必要なモノ。<br /><ol><li>広告などの収入源</li><br /><li>メンテナンスできる技術力</li><br /><li>モチベーション</li></ol><br />・・・なんかどれも今の私に欠けてる気がするorz<br /><br />　で、広告などについては、例えばGoogleAdsenceは１つのサイトで審査を通れば、他の管理するサイトにも貼れます。一方、Amazonは追加するURLを連絡しなければいけませんし、ValueCommerceやA8.netもサイト登録をしなければなりません。<br />　では複数ドメインをまとめて１つのコンテンツとして管理している場合（URL転送とか、サブドメインにSSL振っているとか）はどうしたらいいのか。ここからは、規約を読み込んでいないので<strong>自己責任でお願いしたいのですが・・・</strong><br />IFRAMEタグ使えば広告の呼び出し元はあくまでも登録したサイトになるよね。<br />一番単純なのは、登録したドメインの中で広告タグを生成、他のドメインからIFRAMEで呼び出す。<br />GoogleAdsenceとかと組み合わせるなら、他のドメインからはJavaScriptとして登録ドメインのプログラムを指定して、登録ドメインのプログラムで広告を選択。GoogleAdsenceならそのままdocument.writeを返してやって、他ならIFRAMEタグを含んだソースを返してやる。まあ、JavaScriptでなくてPHPのincludeとかでもいいんですけど。（ここらへん、Perlはちょっと弱い）<br /><br />　まあ、GoogleAdsenceの審査が通っているなら、他ドメインはそこ一本でいくのがいちばんよろしいのかな。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/270160314.html">
<link>http://blog.cgi-bin.jp/article/270160314.html</link>
<title>ファイルやディレクトリを一気に処理するときのコマンドメモ</title>
<description>　基本だけど、ディレクトリ以下のフォルダを全部755にしたかったり、ファイルを666にしたかったりというときに便利なコマンド#find /hoge -type d -print0| xargs -0 chmod 755（/hoge以下のディレクトリのパーミッションを755に）#find /hoge -type f -print0| xargs -0 chmod 666（/hoge以下のファイルのパーミッションを666に）眠いんで、気が向いたらfindとかについて書くかも。</description>
<dc:subject>その他</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-05-16T01:58:25+09:00</dc:date>
<content:encoded><![CDATA[
　基本だけど、ディレクトリ以下のフォルダを全部755にしたかったり、ファイルを666にしたかったりというときに便利なコマンド<br /><strong><em><br />#find /hoge -type d -print0| xargs -0 chmod 755</em></strong><br />（/hoge以下のディレクトリのパーミッションを755に）<br /><br /><strong><em>#find /hoge -type f -print0| xargs -0 chmod 666</em></strong><br />（/hoge以下のファイルのパーミッションを666に）<br /><br />眠いんで、気が向いたらfindとかについて書くかも。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/267874760.html">
<link>http://blog.cgi-bin.jp/article/267874760.html</link>
<title>DNS障害につきまして</title>
<description>ただいまDNSの障害により、現在cgi-bin.jpを指定すると別のサーバにアクセスされる現象が発生しております。3600秒ほどで正しいアドレスを指すように修正しましたが、プロバイダによってはそれ以上のキャッシュを保持している場合がございます。なお、WindowsマシンそのものにキャッシュされているDNS情報をクリアするには、コマンドプロンプトを立ち上げてipconfig /flushdnsを実行して下さい。掲示板等へ取り急ぎアクセスしたい場合は、163.43.140.171..</description>
<dc:subject>障害・メンテナンス</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-04-30T22:00:30+09:00</dc:date>
<content:encoded><![CDATA[
ただいまDNSの障害により、現在cgi-bin.jpを指定すると別のサーバにアクセスされる現象が発生しております。<br />3600秒ほどで正しいアドレスを指すように修正しましたが、プロバイダによってはそれ以上のキャッシュを保持している場合がございます。<br />なお、WindowsマシンそのものにキャッシュされているDNS情報をクリアするには、コマンドプロンプトを立ち上げて<br />ipconfig /flushdns<br />を実行して下さい。<br /><br />掲示板等へ取り急ぎアクセスしたい場合は、163.43.140.171を直接指定いただきますよう、お願い申し上げます。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/265965461.html">
<link>http://blog.cgi-bin.jp/article/265965461.html</link>
<title>スタードメインでドメイン割引中</title>
<description>　ネットオウルの運営するスタードメインで、4月30日まで.net新規取得が480円（通常850円）、.com新規取得580円（通常920円）など、新規取得・移管の割引キャンペーンを展開中です。　SSL証明書（SSLボックス）でお世話になっている会社ですが、ValueDomainからいくつか移管させてもよいと思っています。　惜しむらくは、移管可能なドメインが.com,.net,.org,.biz,.info,.jp,.co.jp,.or.jp,.mobi,.inの10種に限られ..</description>
<dc:subject>商品紹介</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-04-21T19:33:03+09:00</dc:date>
<content:encoded><![CDATA[
　ネットオウルの運営する<a href="http://px.a8.net/svt/ejp?a8mat=1ZIABW+5O7UOA+1WTI+C0B9U" target="_blank">スタードメイン</a><img border="0" width="1" height="1" src="http://www11.a8.net/0.gif?a8mat=1ZIABW+5O7UOA+1WTI+C0B9U" alt="">で、4月30日まで.net新規取得が480円（通常850円）、.com新規取得580円（通常920円）など、新規取得・移管の割引キャンペーンを展開中です。<br />　SSL証明書（<a href="http://px.a8.net/svt/ejp?a8mat=1O9QDG+34J3II+1WTI+TVQUQ" target="_blank">SSLボックス</a><img border="0" width="1" height="1" src="http://www16.a8.net/0.gif?a8mat=1O9QDG+34J3II+1WTI+TVQUQ" alt="">）でお世話になっている会社ですが、<a href="http://www.value-domain.com/?ref=kiryuu" target="_blank">ValueDomain</a>からいくつか移管させてもよいと思っています。<br />　惜しむらくは、移管可能なドメインが.com,.net,.org,.biz,.info,.jp,.co.jp,.or.jp,.mobi,.inの10種に限られていることでしょうか。昔取得した.acなどは未だ本家で管理・更新していますし・・・<br /><a href="http://px.a8.net/svt/ejp?a8mat=1ZIABW+5O7UOA+1WTI+BXYE9" target="_blank"><br /><img border="0" width="234" height="60" alt="" src="http://www25.a8.net/svt/bgt?aid=120105932343&wid=008&eno=01&mid=s00000008919002006000&mc=1"></a><img border="0" width="1" height="1" src="http://www18.a8.net/0.gif?a8mat=1ZIABW+5O7UOA+1WTI+BXYE9" alt=""><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/245793671.html">
<link>http://blog.cgi-bin.jp/article/245793671.html</link>
<title>ファイル名・パスの取り扱い</title>
<description>　今書いているスクリプトのファイルロック機構を作る上で、ファイル名・パスを一意で取得する必要があったためサブルーチンを作り始めたら、ちょっと横道に逸れたけど役に立ったのでメモ。　個人的にスクリプト内部ではファイルをopenしたりする際には絶対パスを指定するのがよいと思います。ここでいう絶対パスというのは、&quot;/&quot;で始まり、&quot;./&quot;や&quot;../&quot;を含まないパスのこと。正規化というらしい。　で、ユーザが入力した値（ユーザIDとかファイルナンバーとか）に基づいてファイルを扱う際に気をつ..</description>
<dc:subject>ただいま開発中</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-01-13T01:30:26+09:00</dc:date>
<content:encoded><![CDATA[
　今書いているスクリプトのファイルロック機構を作る上で、ファイル名・パスを一意で取得する必要があったためサブルーチンを作り始めたら、ちょっと横道に逸れたけど役に立ったのでメモ。<br />　個人的にスクリプト内部ではファイルをopenしたりする際には絶対パスを指定するのがよいと思います。ここでいう絶対パスというのは、"/"で始まり、"./"や"../"を含まないパスのこと。正規化というらしい。<br /><br />　で、ユーザが入力した値（ユーザIDとかファイルナンバーとか）に基づいてファイルを扱う際に気をつけなければいけないのが、<a href="http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%83%88%E3%83%A9%E3%83%90%E3%83%BC%E3%82%B5%E3%83%AB" target="_blank">ディレクトリ・トラバーサル</a>（cf.Wikipedia）です。ユーザから入力された値をチェックするのはまあ当然ですが、ファイルを取り扱う直前にもチェックを入れておきたいものです。<br /><br /><a name="more"></a><br /><br />　ところで、ファイルパスを作るのに便利なモジュールがあります。<strong>File::Spec</strong>です。（5.00405からコアモジュール）<br />相対パス←→絶対パスの相互変換、パスの分解などを行えるのですが、Windows,Unix環境等で共通のインターフェースを使えます。<br />　で、これだけ便利なモジュールでコアモジュールにもなっているんだから、絶対パスにしたときに正規化もしれくれるのかな・・・と思ったらだめだった。<br /><br />　パスの正規化によるディレクトリ・トラバーサル対策については、IPAが具体的なコードを挙げて紹介しています。（cf.<a href="http://www.ipa.go.jp/security/awareness/vendor/programmingv1/b07_07.html" target="_blank">Unixパス名の安全対策</a>）<br />　IPAがコード書いているのを見ると、ひょっとしてコアモジュールで対策はできないのかな？と思ったりして、テストコード書いてみました。<br /><pre><br />#!/usr/bin/perl<br /><br />use strict;<br />use warnings;<br />use utf8;<br />use Encode;<br />use URI::Escape;<br />#use File::Spec;<br /><br />#これより上に辿ってはいけないパス<br />my $base_path = '/home/cgibin/public_html';<br /><br />#スクリプトの実行パス<br />my $script_path = '/home/cgibin/public_html/dirtr';<br /><br />#データの記録パス<br />my $data_path = './datadir/csv';<br /><br />#正当なファイル名<br />my $file_true = 'data.csv';<br /><br /><br />#不当なファイル名<br />my $file_false = '../../../../../../etc/passwd';<br /><br /><br />##正当なファイルをテスト<br />print Encode::encode('utf8',<br />	"【true】："<br />	. make_fullpath([$data_path,$file_true],$script_path,$base_path)<br />	. "\n"<br />	);<br /><br />##不当なファイルをテスト<br />print Encode::encode('utf8',<br />	"【false】："<br />	. make_fullpath([$data_path,$file_false],$script_path,$base_path)<br />	. "\n"<br />	);<br /><br />exit;<br /><br />## パスとファイル名を受け取って絶対パスを返す<br />## ついでにディレクトリ・トラバーサル対策<br />## make_fullpath(パスと配列のリファレンス,基準パス,遡上禁止パス)<br />sub make_fullpath{<br />	my($r_path,$base,$home) = @_;<br /><br />	#URLエンコード対策<br />	$r_path->[$_] = uri_unescape($r_path->[$_]) foreach(0 .. $#{$r_path});<br /><br />	#パスとファイル名をつなげる<br />#	my $filename = File::Spec->catfile(@$r_path);<br />	my $filename = join('/',@$r_path);<br />	<br />	#相対パスを絶対化<br />#	my $fullpath = File::Spec->rel2abs($filename,$base);<br />	$base =~ s/\/$//;<br />	my $fullpath = $base . '/' . $filename;<br /><br />	#パスの正規化<br />	my @directries = ();						# 正規化パス名中間データを初期化<br />	foreach (split('/', $fullpath)){<br />			next if($_ eq "");				# // を無視<br />			next if($_ eq ".");				# /./ も無視<br />			if($_ eq ".."){					# /../ なら<br />					pop(@directries);			# 1 つ前の構成要素も無視<br />					next;<br />				}<br />			push(@directries,$_);				# 構成要素を追加<br />		}<br />	<br />	#バラしたパスをもう一度つなげる<br />#	$fullpath = File::Spec->catfile('/',@directries);<br />	$fullpath = '/' . join('/',(@directries));<br /><br />	die("sub make_fullpath need 2nd parameter 'Basename'") unless($home);<br />	if($fullpath !~ /^$home/){<br />			return('不当なパスです');<br />		}else{<br />			return($fullpath);<br />		}<br />}<br /></pre><br />一応、File::Specを使った場合の記述も先頭をコメントアウトして残しておきました。<br />正規化の過程はほぼIPAの丸写しです。<br />　実行結果はこちら<br /><pre>【true】：/home/cgibin/public_html/dirtr/datadir/csv/data.csv<br />【false】：不当なパスです</pre><br />falseの方は、辿っていくと"/etc/passwd"を指します。<br /><br />実際には、不正パスを検知した際にはdieしてもいいでしょうし、make_fullpath()に渡す第２引数はCwd::realpath()でも使用すればよろしいかと。<br /><br />で、ディレクトリ区切りに<strong>/</strong>を使用しているのでUNIX系専用です。<br />後でWindowsにも対応させたいな。でももう寝る。<br />　ついでに、Windowsでのテスト環境がない

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/245588255.html">
<link>http://blog.cgi-bin.jp/article/245588255.html</link>
<title>PATH_INFOと%2Fの関係</title>
<description>　CGIを呼び出す際、昔はパラメータをhttp://example.com/hoge.cgi?user=tom&amp;amp;key=valueと、?と&amp;amp;で繋げるのが常識だったわけですが、SEO的にサーチエンジンにも好まれないということでhttp://example.com/hoge/tom/valueといったあたかもディレクトリ構造であるかの様な表記が出てきました。（たぶんAmazonが先駆者だと思う）　さて、http://example.com/hoge/tom/val..</description>
<dc:subject>ただいま開発中</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-01-11T20:48:56+09:00</dc:date>
<content:encoded><![CDATA[
　CGIを呼び出す際、昔はパラメータを<strong>http://example.com/hoge.cgi?user=tom&amp;key=value</strong>と、?と&amp;で繋げるのが常識だったわけですが、SEO的にサーチエンジンにも好まれないということで<strong>http://example.com/hoge/tom/value</strong>といったあたかもディレクトリ構造であるかの様な表記が出てきました。（たぶんAmazonが先駆者だと思う）<br /><br />　さて、<strong>http://example.com/hoge/tom/value</strong>だとちょっとスクリプトがどこかわかりづらいので、<strong>http://example.com/hoge.cgi/tom/value</strong>を例にとりましょう。"hoge.cgi"以降の情報を取得するには、$ENV{'PATH_INFO'}を使います。<br /><pre>#Script1<br />print $ENV{'PATH_INFO'};<br />【結果】/tom/value</pre><br />これをパラメータとして取得するには、頭の/を落として、/でsplitしてやればいいわけです。<br /><pre>#Script2<br />my $param = $ENV{'PATH_INFO'};<br />$param =~ s/^\///;<br />my @data = split('/',$param);<br />print join('&amp;',@data);<br />【結果】tom&value</pre><br /><br /><a name="more"></a><br /><br />　ところで・・・実際に使用する際にはURLエンコード（Percent-Encoding）されたものがくる可能性もありますので、URI::Escape::uri_unescape()などでパラメータを元に戻してやる必要があります。（ちなみに、URI::Escapeはコアモジュールではなかったりします。まあ、たいていのレンタルサーバには入っているとは思うけれども）<br /><br />　で、ここからがややこしいお話。PATH_INFOに/がURLエンコードされた"%2F"が入っている場合、Apacheの設定で<strong>AllowEncodedSlashes on</strong>にしてやらないと404エラーになります。Debian(squeeze)からapt-get installした限りでは、ONになっていませんでしたので設定ファイルをいじってやる必要があります。で、この項目は.htaccessでは設定できないんですよ（&lt;VirtualHost&gt;～&lt;/VirtualHost&gt;内に記述するのはOK）。自宅サーバや専用サーバ・VPSの人はいいけれども、共用レンタルサーバの人は管理者にお願いするかそういう設定をしているサービスを探す必要があります。<br /><br />　そんでもって、さらにややこしいお話。$ENV{'PATH_INFO'}で取得するパラメータには、当然&2F（/）が含まれる可能性もあるわけで、そのためにApacheのAllowEncodedSlashesをonにしました。<br /><strong>http://example.com/hoge.cgi/tom/value%2Fmoney</strong>のパラメータを上記#Script2で取得したら、"tom"と"value%2Fmoney"が得られるはずです。<br />　ところがどっこい、Apacheに問題あり。頼んでもいないのに<strong>"%2F"を勝手に"/"へデコードしてくれちゃいます</strong>。<br />その結果、$ENV{'PATH_INFO'}に入る値は<strong>/tom/value/money</strong>であり、#Script2で取得される値は"tom","value","money"です。バグ発生！<br />　この辺のApacheの挙動については、【<a href="http://d.hatena.ne.jp/ktat/20090906/1252213367" target="_blank">PATH_INFO中の%2Fがデコードされる - Practice of Programming</a>】が大いに参考になりました。<br /><br />　じゃあどうしましょうかというと、$ENV{'REQUEST_URI'}と$ENV{'SCRIPT_NAME'}を使いましょうということになります。<strong>http://example.com/hoge.cgi/tom/value%2Fmoney</strong>を呼び出した例ですと、$ENV{'REQUEST_URI'}には"http://example.com/hoge.cgi/tom/value%2Fmoney"が、$ENV{'SCRIPT_NAME'}には"http://example.com/hoge.cgi"が入っています。<br />$ENV{'REQUEST_URI'}から$ENV{'SCRIPT_NAME'}を「引いて」やれば、$ENV{'PATH_INFO'}と同じことができます。<br />#Script2を手直しするとこんな感じ。<br />（"http://example.com/hoge.cgi/tom/value%2Fmoney"で呼び出したと仮定）<br /><pre>#Script3<br />my $param = $ENV{'REQUEST_URI'};<br />my $pattern = "^$ENV{'SCRIPT_NAME'}/"; #スラッシュ忘れるなよ<br />$param =~ s/$pattern//;<br />my @data = split('/',$param);<br />print join('&amp;',@data);<br />【結果】tom&value%2Fmoney</pre><br />@dataの中身についてはこの後URI::Escape::uri_unescape()するなり、Encode::decode()するなり、よしなに。<br /><br /><br />と、いうことを新しいスクリプト（の共通ライブラリ）を書いていてわかったので記録しておきます。<br /><br />なお、mod_rewriteを使ってURLの書き換えをしている場合、$ENV{'REQUEST_URI'}と$ENV{'SCRIPT_NAME'}の頭が一致しないという事象が発生するらしいので（cf.<a href="http://djodjo.jp/archives/300" target="_blank">REQUEST_URIとSCRIPT_NAMEの違い -  蜘蛛の糸をつむぐには&#8230;</a>）mod_rewriteを使う場合には素直にmod_rewriteで?&amp;=と/の書き換えもやりましょう。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/245576081.html">
<link>http://blog.cgi-bin.jp/article/245576081.html</link>
<title>リファレンスされた配列の最後の添え字の取得</title>
<description>　ちょっとググり方が悪かったのか、すでに常識なのかはわからないけど、試行錯誤して解決したのでメモ。　Perlにおいて配列の最後の添え字（番号）を取得するには、$#配列名（例：$#array）であることは基本中の基本です。　では、リファレンスに入っている配列の最終番号を取得するにはどうしたらいいのか。解法１：scalar関数を使うmy $lastnum = scalar(@$ref_array) -1;解法２：$#でがんばるmy $lastnum = $#{$ref_array..</description>
<dc:subject>ただいま開発中</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-01-11T19:03:14+09:00</dc:date>
<content:encoded><![CDATA[
　ちょっとググり方が悪かったのか、すでに常識なのかはわからないけど、試行錯誤して解決したのでメモ。<br /><br />　Perlにおいて配列の最後の添え字（番号）を取得するには、<strong>$#配列名</strong>（例：$#array）であることは基本中の基本です。<br />　では、リファレンスに入っている配列の最終番号を取得するにはどうしたらいいのか。<br /><br />解法１：scalar関数を使う<br /><pre>my $lastnum = scalar(@$ref_array) -1;</pre><br />解法２：$#でがんばる<br /><pre>my $lastnum = $#{$ref_array};</pre><br /><br />解法２の方がわかりやすいというかシンプルというか好み。<br />（区切りに{}が使えることを知らんかったよ・・・）<br /><br />ちなみにこんな複雑なことも可能<br /><pre>my $lastnum = $#{$hash{'list'}};<br /># %hashの'list'の値に配列へのリファレンスが入っている場合</pre><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/245382329.html">
<link>http://blog.cgi-bin.jp/article/245382329.html</link>
<title>/usr/bin/perl^M: bad interprete</title>
<description>今日新しいプログラムの開発に取りかかったところ、シェル上で-bash: ./prova.cgi: /usr/bin/perl^M: bad interpreter: そのようなファイルやディレクトリはありませんというエラーが。Apacheのエラーログにも(2)No such file or directory: exec of '/hoge/prova.cgi' failedとエラーが吐かれています。/usr/bin/perlはちゃんとあるし、パーミッションも実行可能になって..</description>
<dc:subject>ただいま開発中</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-01-10T15:08:30+09:00</dc:date>
<content:encoded><![CDATA[
今日新しいプログラムの開発に取りかかったところ、シェル上で<br /><pre>-bash: ./prova.cgi: /usr/bin/perl^M: bad interpreter: そのようなファイルやディレクトリはありません</pre><br />というエラーが。<br />Apacheのエラーログにも<br /><pre>(2)No such file or directory: exec of '/hoge/prova.cgi' failed</pre><br />とエラーが吐かれています。<br /><br />/usr/bin/perlはちゃんとあるし、パーミッションも実行可能になっている・・・しかも他のスクリプトはちゃんと動いているのになぜか、と思っていましたが、<br /><br />改行コードが<strong>CR+LF</strong>になっていました。改行コードを<strong>LF</strong>で保存し直してちゃんと動きました。<br /><br />久々にイチから書き始めたとはいえ、基本的なところでした。<br /><strong>bad interpreterが出たら、まずは改行コードを疑ってみよう</strong>。（特にDOS（Windows）で書いてLinuxで実行している場合）<br /><br /><br /># ちなみにprova.cgiというのは、今新しく作っているプログラムです。<br /># ティロ・フィナーレと同じくイタリア語です。<br /># 英語でいうとtestですね。まあ、そういうコンセプトのプログラム<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/244470918.html">
<link>http://blog.cgi-bin.jp/article/244470918.html</link>
<title>スタードメインで.atを割引中</title>
<description>　SSL証明書の取得でお世話になっているネットオウルが提供するドメイン取得サイト、スタードメインで2012年1月31日18:00まで、各種ドメインを割り引き登録できます。　今回の目玉は.at（オーストリア）の新規登録が680円でできることです。.atについては、前置詞の&quot;at&quot;や、＠を連想させるとうことで、ccTLDではtoに次いで使いやすいと思います。そして、gTLDや.jpなどでは空いていないメジャーな名前も登録できる可能性があります。　私のプライベートメールアドレスは、..</description>
<dc:subject>その他</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2012-01-05T18:55:33+09:00</dc:date>
<content:encoded><![CDATA[
　SSL証明書の取得でお世話になっているネットオウルが提供するドメイン取得サイト、<a href="http://px.a8.net/svt/ejp?a8mat=1ZIABW+5O7UOA+1WTI+C0B9U" target="_blank" onmouseover="window.status='http://www.star-domain.jp/';return true;" onmouseout="window.status='';return true;">スタードメイン</a><img border="0" width="1" height="1" src="http://www18.a8.net/0.gif?a8mat=1ZIABW+5O7UOA+1WTI+C0B9U" alt="">で2012年1月31日18:00まで、各種ドメインを割り引き登録できます。<br />　今回の目玉は.at（オーストリア）の新規登録が680円でできることです。.atについては、前置詞の"at"や、＠を連想させるとうことで、ccTLDではtoに次いで使いやすいと思います。そして、gTLDや.jpなどでは空いていないメジャーな名前も登録できる可能性があります。<br />　私のプライベートメールアドレスは、「<em>名＠姓.at</em>」ですが、.jpは言うに及ばずgTLDはダメだったものの、.atが空いていましたので<a href="http://www.value-domain.com/?ref=kiryuu" target="_blank">バリュードメイン</a>で登録して使っています。今回、残念ながら移管や更新は割引の対象外ですが、これから家族のアドレスがほしいという人は登録を考えてみてもいいのではないでしょうか。<br />　ちなみに、私は<a href="http://www.value-domain.com/?ref=kiryuu" target="_blank">バリュードメイン</a>提供のDNSサーバを利用し、<a href="http://www.google.com/apps/intl/ja/group/index.html" target="_blank">GoogleApps</a>で管理していますが、<a href="http://px.a8.net/svt/ejp?a8mat=1ZIABW+5O7UOA+1WTI+C0B9U" target="_blank" onmouseover="window.status='http://www.star-domain.jp/';return true;" onmouseout="window.status='';return true;">スタードメイン</a><img border="0" width="1" height="1" src="http://www18.a8.net/0.gif?a8mat=1ZIABW+5O7UOA+1WTI+C0B9U" alt="">でしたらDNSサーバに加えてメール転送が100個まで無料でついてきます。ついでに、10GB or 3GB+SQLのウェブサーバもついてきます。<a href="http://www.value-domain.com/?ref=kiryuu" target="_blank">バリュードメイン</a>は4,430円（2012年1月5日現在）ですので、通常料金でも安いのです。atドメインの移管には対応していないようなのが悔やまれますが、他のドメインも<a href="http://www.value-domain.com/?ref=kiryuu" target="_blank">バリュードメイン</a>よりも微妙に安いので、新たに取得する分はこっちで取ろうかとも思います。（移管の手間をかけるほどではないかな）<br /><div style="text-align:center;"><a href="http://px.a8.net/svt/ejp?a8mat=1ZIABW+5O7UOA+1WTI+BXYE9" target="_blank" onmouseover="window.status='http://www.star-domain.jp/';return true;" onmouseout="window.status='';return true;"><img border="0" width="234" height="60" alt="" src="http://www25.a8.net/svt/bgt?aid=120105932343&wid=008&eno=01&mid=s00000008919002006000&mc=1"></a><img border="0" width="1" height="1" src="http://www15.a8.net/0.gif?a8mat=1ZIABW+5O7UOA+1WTI+BXYE9" alt=""></div><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/242161138.html">
<link>http://blog.cgi-bin.jp/article/242161138.html</link>
<title>【緊急】掲示板レンタルの停止について</title>
<description>cgi-bin.jpにてレンタルしている掲示板レンタル３種につきまして、管理上の問題が発生したため緊急にサービスの停止をさせていただきました。【現象】　広告を提供している会社より不適切なコンテンツが掲載されているとの指摘があり、メンテナンスを行おうとしたところ、全ての掲示板のログが消えた。【原因】　管理プログラムが古いサーバにしか対応しておらず、全ての掲示板を「更新期限切れ」として判断したため削除の対象となってしまった。【対応】　ファイルが削除されているためログを復活させるこ..</description>
<dc:subject>障害・メンテナンス</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2011-12-23T17:56:06+09:00</dc:date>
<content:encoded><![CDATA[
cgi-bin.jpにてレンタルしている掲示板レンタル３種につきまして、管理上の問題が発生したため緊急にサービスの停止をさせていただきました。<br /><br />【現象】<br />　広告を提供している会社より不適切なコンテンツが掲載されているとの指摘があり、メンテナンスを行おうとしたところ、全ての掲示板のログが消えた。<br /><br />【原因】<br />　管理プログラムが古いサーバにしか対応しておらず、全ての掲示板を「更新期限切れ」として判断したため削除の対象となってしまった。<br /><br />【対応】<br />　ファイルが削除されているためログを復活させることはできず、また他の異常が発生する可能性もあるため、掲示板レンタルの提供を停止させていただきました。<br />　今後、コードをチェックの上再提供させていただきますが、その際には新規に作成が必要になります。また、今回広告提供会社より指摘があった原因となっているスパム投稿についても、それを抑制する手段を備えた上での再開とさせていただきます。<br /><br />【ご注意】<br />　他のサービスにつきましても、順次コードのチェック・更新をしていきます。それに伴い、サービスの一時停止、データの消失が発生する可能性がございます。<br /><br /><br />　この度は、掲示板をご利用できなくなりましたこと、誠に申し訳なく思います。<br />　今回の事態は掲示板レンタルのプログラムが、技術的・社会的情勢に追いついていないことを放置したことにより発生したものと認識しております。掲示板をご利用いただいておりました皆様には、ただ平謝りする他ございませんが、何卒ご理解をいただきたく、お願い申し上げます。<a name="more"></a><br />（2011.12.23 21:18追記）<br />　現在、上記運用を停止しているレンタル掲示板につきまして、<br />・最終アクセス時ではなく最終更新時をチェック対象にするようコードを変更<br />・スパム投稿防止用として、100の質問で採用している計算認証を搭載<br />以上２点について、動作の確認を行っております。<br />　また、コードを通読した結果セキュリティに問題を生じさせる可能性のある箇所がみつかったため、その部分のチェックルーチンを追加する予定です。<br />　受付再開については、2011年12月25日または12月26日を見込んでおります。<br /><br />（2011.12.25 17:03追記）<br />　掲示板プログラム本体をチェックしたところ、セキュリティ上の問題（OSコマンドインジェクション・ディレクトリトラバサール）を発生させる可能性があったため、ファイル読み書き部分にファイル名・パスのチェックルーチンを追加しました。<br />　17時頃、サービスの提供を再開させていただきました。<br />　なお、スパム投稿チェックにつきましては、現在は計算認証を搭載しておりますが、今後効果の程によってはより強力な制限（CAPTCHA・IP/プロバイダ単位のブラックリスト）についても検討しております。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/239816065.html">
<link>http://blog.cgi-bin.jp/article/239816065.html</link>
<title>ひまわり証券とは（ひまわりFXの紹介）</title>
<description>久々の投資ネタです。　現在、株はＳＢＩ証券で運用、FXは休止中の鯖缶ですが、円高継続中ということでFXを再開しようかと、各社の条件を検討中です。　FXはオリックス証券・外為ドットコム・ひまわり証券・マネーパートナーズ・FXアジアと渡り歩いてきましたが、身を引いた後で分別保管が義務づけられたり金融庁の監督を受けるようになったりと、色々様相が変わってきたので、再開するに当たり各社のサービス・条件を調べ直す必要が出てきました。　ちなみに、ひまわり証券については「ひまわり証券とは」に..</description>
<dc:subject>商品紹介</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2011-12-11T01:24:34+09:00</dc:date>
<content:encoded><![CDATA[
久々の投資ネタです。<br />　現在、株は<A href="http://px.a8.net/svt/ejp?a8mat=UHU7M+BJKQFE+FZK+5YZ76" target="_blank" onmouseover="window.status='https://search.sbisec.co.jp/cgi-bin/etradeparam.cgi?OURL=A8&OID=A8';return true;" onmouseout="window.status='';return true;">ＳＢＩ証券</A><img border="0" width="1" height="1" src="http://www13.a8.net/0.gif?a8mat=UHU7M+BJKQFE+FZK+5YZ76" alt="">で運用、FXは休止中の鯖缶ですが、円高継続中ということでFXを再開しようかと、各社の条件を検討中です。<br /><br />　FXはオリックス証券・外為ドットコム・ひまわり証券・マネーパートナーズ・FXアジアと渡り歩いてきましたが、身を引いた後で分別保管が義務づけられたり金融庁の監督を受けるようになったりと、色々様相が変わってきたので、再開するに当たり各社のサービス・条件を調べ直す必要が出てきました。<br /><br />　ちなみに、ひまわり証券については「<strong><a href="http://www.fx-lesson.com/archives/2006/07/13-163057.php">ひまわり証券とは</a></strong>」にも詳しく書いてありますが、比較的早期にデイトレ口座をリリースしたことが印象的でした。ただ、私はスワップも受け取りたいし、強制決済されるのは好みに合わなかったのでレギュラー口座にしていました。<br /><a name="more"></a>　現在の状態をチェックしたところ、スリッページなしやレギュラー口座・デイトレ口座が分かれていることは変わりませんが、オンライン注文では手数料なしの点は一緒です（昔はレギュラー口座で手数料がかかっていたような・・・）。レバレッジも4%（25倍）と同じですので、ロールオーバーのありなしの他にレギュラー口座とデイトレ口座との違いというと、スプレッドです。USD/JPNでは1pipsで変わりませんが、EUR/JPYでは3pips:2pips、GBP/JPYでは6pips:4pipsと、デイトレ口座の方が有利になっています。GBP/JPYについては、昔は高金利通貨としてロングで保持してスワップを受け取ることにも、値動きが激しいため短期売買にも利用されましたが、本日現在のスワップ表で16円ですので、長期に持っておくのはリスクが大きすぎます。GBPでデイトレやるんだという人には、デイトレ口座もいいかと思います。<br />　逆に、AUD/JPYのスワップはまだ90円ほどあります。（資源国は強いですね）<br />スワップ金利を取りたいという人には当然レギュラー口座ですね。<br />　USD/JPYについては、円安狙いのロング長期保持か、急降下狙いのショート短期保持かになると思いますが、スプレッドの差はありません。レギュラー口座ならロールオーバーができるので、こっちでいいでしょう。<br /><br />　また、ひまわり証券の優れている点としては、コンバージョンが可能なところも挙げられます。コンバージョンとは、円で入金しておいた資金を、外貨で受け取るということで、ひまわり証券では振り込みで可能です。手数料（TTBとTTSの差）は、USDの場合は20銭です。出金手数料はかかりません。都市銀行の場合ですと、USDでも１円位の手数料を取られますので、結構な差です。着金口座によっては着金手数料を取る金融機関もあるようですが、新生銀行でしたら手数料のページにその様な記載はないので、実際に20銭で両替が可能になります。（そういえば昔、海外から振り込みを受けた際に某都市銀行を振込先にしたら、１円の手数料に加えて着金手数料2500円取られました）<br />　他にも、デリバリーという保持しているポディションの決済を現金で受けるというサービスもありますが、こちらは１回あたり5000円かかります。結構高いので、それこそ10万USDとかの規模でないと、メリットはないかもしれません。<br /><br />　その他の機能も、他業者と比べ遜色はありません。いまではほぼ当たり前になっているネット入金（金融機関のネットバンキングに飛んで、即時に振り込み結果が反映される）にも対応しています。トレード画面が合う合わないは人それぞれですが、基本的にスリッページなしというのは大きな魅力です。とりあえず、昔使っていたIDを発掘することにします。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/239320202.html">
<link>http://blog.cgi-bin.jp/article/239320202.html</link>
<title>SSL証明書の更新の時期が近づく</title>
<description>fms.cgi-bin.jpで使用しているSSL証明書の更新時期が近づいています。（1月18日に失効です）cgi-bin.jpで利用している証明書は、もっぱら↑SSLボックス（ネットオウル）経由のRapidSSLです。理由は安いから。運営者に関する情報は証明してくれないけど、通販サイトじゃないのでそんな必要ないし、技術的なセキュリティが確保されればOKってことで。・・・まあ、SSL証明書入れても、コンテンツがなければ無駄遣いなんですけど。</description>
<dc:subject>その他</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2011-12-08T13:23:33+09:00</dc:date>
<content:encoded><![CDATA[
fms.cgi-bin.jpで使用しているSSL証明書の更新時期が近づいています。（1月18日に失効です）<br /><br /><a href="http://px.a8.net/svt/ejp?a8mat=1O9QDG+34J3II+1WTI+TVBF5" target="_blank"><br /><img border="0" width="468" height="60" alt="" src="http://www25.a8.net/svt/bgt?aid=101231044189&wid=008&eno=01&mid=s00000008919005017000&mc=1"></a><br /><img border="0" width="1" height="1" src="http://www19.a8.net/0.gif?a8mat=1O9QDG+34J3II+1WTI+TVBF5" alt=""><br /><br />cgi-bin.jpで利用している証明書は、もっぱら↑<a href="http://px.a8.net/svt/ejp?a8mat=1O9QDG+34J3II+1WTI+TVQUQ" target="_blank">SSLボックス</a><br /><img border="0" width="1" height="1" src="http://www10.a8.net/0.gif?a8mat=1O9QDG+34J3II+1WTI+TVQUQ" alt="">（ネットオウル）経由のRapidSSLです。<br />理由は安いから。<br />運営者に関する情報は証明してくれないけど、通販サイトじゃないのでそんな必要ないし、技術的なセキュリティが確保されればOKってことで。<br />・・・まあ、SSL証明書入れても、コンテンツがなければ無駄遣いなんですけど。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/238428157.html">
<link>http://blog.cgi-bin.jp/article/238428157.html</link>
<title>シュタゲ公式ガイドがまだ届かない</title>
<description>TV Anime Steins;Gate OFFICIAL GUIDEBOOK 記憶補完のモノグラフをAmazon.co.jpで予約していましたが・・・まだ届きません。12月1日には発送されているのに・・・。発送先は関東なのになぜ大阪から発送するのか。千葉からでいいじゃなイカ。Amazon.co.jpで予約しておいたのですが・・・昨日（12/2）にページを確認したら、当日お届け可能になってるじゃないですか。そういや、ひだまりスケッチ×SP 【完全生産限定版】 [Blu-ray..</description>
<dc:subject>その他</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2011-12-03T15:10:04+09:00</dc:date>
<content:encoded><![CDATA[
<a href="http://www.amazon.co.jp/gp/product/4041100267/ref=as_li_ss_tl?ie=UTF8&tag=b-cgibin-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4041100267">TV Anime Steins;Gate OFFICIAL GUIDEBOOK 記憶補完のモノグラフ</a><img src="http://www.assoc-amazon.jp/e/ir?t=b-cgibin-22&l=as2&o=9&a=4041100267" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />をAmazon.co.jpで予約していましたが・・・まだ届きません。12月1日には発送されているのに・・・。<br />発送先は関東なのになぜ大阪から発送するのか。千葉からでいいじゃなイカ。<br /><br />Amazon.co.jpで予約しておいたのですが・・・昨日（12/2）にページを確認したら、当日お届け可能になってるじゃないですか。<br /><br />そういや、<a href="http://www.amazon.co.jp/gp/product/B005GJ67XY/ref=as_li_ss_tl?ie=UTF8&tag=b-cgibin-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B005GJ67XY">ひだまりスケッチ×SP 【完全生産限定版】 [Blu-ray]</a><img src="http://www.assoc-amazon.jp/e/ir?t=b-cgibin-22&l=as2&o=9&a=B005GJ67XY" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />も随分と届くのが遅かった。<br /><br />年会費払ってアマゾンプライムに登録しているんだから、予約商品もお急ぎ便を適用してほしいところ。梱包に関する意見のフォームはあるくせに、配送とかプライムに関する意見フォームはない模様。カスタマーサービスにメール入れておくか。<br /><br />あと、佐川の追跡サービスよりAmazonの配送状況の方が詳細に出てくるって、どういうこと？<br /><br />と、不満を書いてるくせにしっかりリンクは貼っておくという・・・<br /><div style="text-align:center;"><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=b-cgibin-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4041100267" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div><br /><br /><br />## この後、午後5時頃にやっと届きました。ひだまりSPよりは早かった。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/238140099.html">
<link>http://blog.cgi-bin.jp/article/238140099.html</link>
<title>確保ドメイン</title>
<description>　実は、昔からドメインネームを登録するのが趣味になっているところがあります。　で、取ったはいいけど活用はせず、Google Adsenseのドメイン向けAdSenseに設定したまま放置状態だったりするのですが、VPSも安っすいことですし、何かに活用できないかと悶々としとります。　今、確保しているドメインを挙げると、　1s.tc / 2929831831.com / fwd.jp / hinagiku.in　if.vc / magica.in / magicus.in / wa..</description>
<dc:subject>ただいま開発中</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2011-12-01T23:11:10+09:00</dc:date>
<content:encoded><![CDATA[
　実は、昔からドメインネームを登録するのが趣味になっているところがあります。<br />　で、取ったはいいけど活用はせず、Google Adsenseのドメイン向けAdSenseに設定したまま放置状態だったりするのですが、VPSも安っすいことですし、何かに活用できないかと悶々としとります。<br /><br />　今、確保しているドメインを挙げると、<br />　<strong>1s.tc</strong> / <strong>2929831831.com</strong> / <strong>fwd.jp</strong> / <strong>hinagiku.in</strong><br />　<strong>if.vc</strong> / <strong>magica.in</strong> / <strong>magicus.in</strong> / <strong>wav.jp</strong><br />　<strong>whats.jp</strong> / <strong>xku.in</strong><br />ってところです。<br />　使い道としては、URL転送や短縮URLが思いつきますが、マネタイズの方法が思いつきません。URL転送の度に広告見せられるのは嫌だろうし、ポップアップはそもそもブラウザのデフォでブロックされるだろうし。<br />　アフィ利用者向けにパラメータ隠すとかの方法もあるけど、無料じゃこっちがやってけない。少額決済も面倒だし・・・Paypalで地道に確認するしかないのかな。<br /><br /><div style="text-align:center;"><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" id="Player_6454b432-3bb1-43c8-8b37-6ba7ad23aa87"  WIDTH="500px" HEIGHT="175px"> <PARAM NAME="movie" VALUE="http://ws.amazon.co.jp/widgets/q?rt=tf_cw&ServiceVersion=20070822&MarketPlace=JP&ID=V20070822%2FJP%2Fcgibinjp-22%2F8010%2F6454b432-3bb1-43c8-8b37-6ba7ad23aa87&Operation=GetDisplayTemplate"><PARAM NAME="quality" VALUE="high"><PARAM NAME="bgcolor" VALUE="#FFFFFF"><PARAM NAME="allowscriptaccess" VALUE="always"><embed src="http://ws.amazon.co.jp/widgets/q?rt=tf_cw&ServiceVersion=20070822&MarketPlace=JP&ID=V20070822%2FJP%2Fcgibinjp-22%2F8010%2F6454b432-3bb1-43c8-8b37-6ba7ad23aa87&Operation=GetDisplayTemplate" id="Player_6454b432-3bb1-43c8-8b37-6ba7ad23aa87" quality="high" bgcolor="#ffffff" name="Player_6454b432-3bb1-43c8-8b37-6ba7ad23aa87" allowscriptaccess="always"  type="application/x-shockwave-flash" align="middle" height="175px" width="500px"></embed></OBJECT> <NOSCRIPT><A HREF="http://ws.amazon.co.jp/widgets/q?rt=tf_cw&ServiceVersion=20070822&MarketPlace=JP&ID=V20070822%2FJP%2Fcgibinjp-22%2F8010%2F6454b432-3bb1-43c8-8b37-6ba7ad23aa87&Operation=NoScript">Amazon.co.jp ウィジェット</A></NOSCRIPT></div><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.cgi-bin.jp/article/238137622.html">
<link>http://blog.cgi-bin.jp/article/238137622.html</link>
<title>FMSの構想</title>
<description>　さて、電気通信事業の書類は無事に総務省関東総合通信局に着いたみたいで、あとは担当官殿がさらりと処理してくれることを祈りつつ、ＦＭＳ（FormMail Secured）で実現したいことと、環境を挙げておきます。</description>
<dc:subject>ただいま開発中</dc:subject>
<dc:creator>鯖缶</dc:creator>
<dc:date>2011-12-01T20:45:13+09:00</dc:date>
<content:encoded><![CDATA[
　さて、電気通信事業の書類は無事に総務省関東総合通信局に着いたみたいで、あとは担当官殿がさらりと処理してくれることを祈りつつ、ＦＭＳ（FormMail Secured）で実現したいことと、環境を挙げておきます。<br /><br /><a name="more"></a>【実現したい機能】<br />１．入力内容をCSVファイルかTSVファイルで保存、蓄積する<br />２．セキュリティレベルを選べるようにする<br />３．サービス登録ではメールアドレスの認証機能を備える<br />４．メールアドレスのチェックを厳格に行う<br />５．登録者へのメール一斉送信機能<br />６．エラーメールの確実なリレー<br /><br />　1については、要するにデータベース機能を持たせようと言うことです。入力者からの抹消請求も、メールのURLをクリックしたら自動でできるようにしたいです。<br />　2については、ブラウザ上でデータをやりとりするだけならhttpsがありますが、メールサーバ間でSSL通信を行う汎用的な方法がないため、フォームの管理者or入力者にメールを送る＝セキュリティ低・メールは送らないor入力者にフォームでパスフレーズを決めてもらい、URLだけ送って情報はウェブ上で見てもらう＝セキュリティ中・従来のフォームメールの様に、フォーム管理者・入力者にメールを送る＝セキュリティ低と、セキュリティのレベルをフォーム設置者が選べるようにしたいです。セキュリティ高と低は簡単だけど、中がちょっと面倒と言えば面倒。<br />　3.よくある、「送信されたメールのURLに飛んでキーフレーズを入力」ってやつ。無料サービスなんで、１月に１回は広告でもくっつけて利用中確認（＆メールアドレス有効性確認）をやらないとゾンビなフォームだらけになりそう。<br />　4.Email::Valid使いますってことです。<br />　5.1のデータベースに登録されている人に一斉にメール送れたら楽でいいよね。<br />　6.ここ数年はＩＳＰのメールサーバも厳しくなってきているんで、fromのアドレスのホストと、送信ホストが異なるとメールを受け入れてくれなかったり問答無用で迷惑メール扱いされたりします。さらに、Return-Pathに返さずに、postmaster@にエラーを返したりします。このため、フォームメール１つごとにhoge@fms.cgi-bin.jpのメールアドレスを発行し、hoge@fms.cgi-bin.jpをfromアドレスに用います。そんでもって、hoge@fms.cgi-bin.jpに来たメール（エラーメール含む）は、登録されたフォーム管理者のアドレスに転送するということ。当然、SPF認証はネームサーバに設定済み。（Domainkeysの方はまだ試行錯誤状態）<br /><br />【環境】<br />とある大阪にある会社のＶＰＳで、Apache+Perl+Postfixで構成予定。<br /><br /><br /><br />・・・現状の課題は、Postfixをきちんと設定することでございます。

]]><![CDATA[
]]></content:encoded>
</item>
</rdf:RDF>

