.htaccess で特定のファイルのみにBasic認証を設定する方法

2007年10月24日 03:45 .htaccess で特定のファイルのみにBasic認証を設定する方法

今回の記事は、以前旧ブログから転載してきた.htaccessによるBasic認証のかけ方の続編です。

.htaccess とは

Webサーバー(Apache)の挙動を、ディレクトリ単位で指定するための設定ファイルです。

「.htaccess」という名前のテキストファイルを、該当ディレクトリにFTPでアップロードしたり、TelnetやSSH等でログインして、vi 等のエディタで直接作成・編集すればOKです。

.htaccess を設置すると、そのディレクトリと、その下層に位置する全てのディレクトリに、.htaccess で指定した設定が反映されます。

Basic認証とは

特定のディレクトリやファイルに対するアクセスに対して、CGI等の動的なコンテンツを用いることなく、ユーザー名とパスワードを要求して認証を行うことのできる手法です。

Webサーバー側の機能として提供される認証方法なので、プログラミング等の知識を必要とせず、比較的簡単にユーザー認証を行なうことが出来ます。

Basic認証のかけられたディレクトリやファイルにアクセスすると、ユーザー名とパスワードを入力するためのダイアログが表示され、正しいユーザー名とパスワードを入力しないと、そのディレクトリやファイルを閲覧することができません。

ディレクトリ単位での、基本的なBasic認証のかけ方に関しては、前述の記事.htaccessによるBasic認証のかけ方を参照のこと。

今回は、さらにもう一件、先日旧ブログから転載してきた記事、特定のファイルに対するアクセス制限と組み合わせて、「特定のファイルのみに Basic認証をかける」という応用編です。

特定のファイルのみに Basic認証をかける

例えば、今ご覧になっているこのブログを管理している Movable Type をはじめとする、Web上で管理を行なうCMSの管理用CGI。

当然ながら、インターネット上で管理していますから、管理者用のログインフォームには、URLさえわかれば誰でもアクセスできるわけです。

もちろん、そこから先の画面には、ユーザー名やパスワードを入力してログインするので、誰でも見られるわけではないですが、この管理者用のプログラムだけに Basic認証をかけることができれば、よりセキュリティの強度は高まります。

その他にも、サイトの構成上の都合によって、ディレクトリ単位ではなく、ファイル単位で Basic認証をかけたい、というケースは、意外とあるかと思います。

ちょっとおさらいしておくと、まず基本的な Basic認証のかけ方は、

AuthUserFile	/home/amethyst/data/pass/password.dat
AuthName	"Input Your Name And Password"
AuthType	Basic
require	valid-user

こんな感じです。

それぞれの項目の詳細については、.htaccessによるBasic認証のかけ方を参照してください。

そして、基本的なファイル単位でのアクセス制限の方法は、

<Files filename>
order deny,allow
deny from all
</Files>

という感じです。

こちらも詳細は、特定のファイルに対するアクセス制限を参照してください。

ここでのミソは、

  • require」で指定したユーザーに対して Basic認証を行う
  • <Files>~</Files>」で指定したファイルに対してアクセス制限を行なう

という2点です。

つまり、該当ディレクトリ内のファイルの中で「admin.cgi」というCGIスクリプトだけに Basic認証をかけたい、という場合、

AuthUserFile	/home/amethyst/data/pass/password.dat
AuthName	"Input Your Name And Password"
AuthType	Basic
<Files admin.cgi>
require	valid-user
</Files>

と書けば良いわけです。

関連するブログ記事
スポンサード リンク
カテゴリー
.htaccess
タグ
.htaccess | Basic認証 | CMS | アクセス制限

コメント(23) | トラックバック(2)

 

自作のエラードキュメント表示方法

久しぶりに旧ブログから .htaccess ネタを引っ張ってきました。


.htaccessを使って、404や403、500等のエラードキュメントを自作の物に変更することが可能です。

設定は非常に簡単。
とりあえずオリジナルのエラードキュメントを作った後、.htaccessに下記のフォーマットで記述するだけです。

ErrorDocument ErrorCode DocumentPath

例えば、404エラーの際に表示されるエラードキュメントを404.htmlというファイル名で作成し、/err というディレクトリにアップロードした場合は、

ErrorDocument 404 /err/404.html

となります。

エラードキュメントのファイルは別に静的なhtmlファイルじゃなくてもOKなので、cgiやPHPを使って動的なエラードキュメントページを表示することも可能です。
REQUEST_URI や HTTP_REFERER 等、環境変数も通常通りに取得できるので、リクエストされたファイル名を表示したり、リンク元のファイルをログに取るようにして自サイトのリンク切れ・リンクミスチェックに利用することも可能です。
しっかりデバッグしておかないと、500エラーが出た時に表示されるエラードキュメント用CGI自体が500エラーが出てしまう、なんていう間抜けなことにもなりかねないので注意(笑)。
※ちなみにこういうケースの場合はサーバーにデフォルトで設定されているエラードキュメントが表示されます。(無限ループになっちゃったら嫌過ぎますもんね)

この「自作のエラードキュメントを表示する」というのはサイト管理者としても何だか無性に楽しいので、最近では色んなサイトで個性的なエラードキュメントが表示されますね。

関連するブログ記事
カテゴリー
.htaccess
タグ
.htaccess | 403 | 404 | 500 | CGI | perl | PHP | エラードキュメント | 環境変数

コメント(215)

 

夢魔

2007年10月22日 11:08 夢魔

今回は、旧ブログで掲載していた自作曲のMIDIファイルを発掘してきました。

以下、旧ブログの文章を一部編集したものです。


昔「Amethyst」という名前のバンドをやってました。
で、この曲はその「Amethyst」の活動において、最も初期に私が作った曲の一つ。
元ネタは大昔に書いた同名の自作の小説です。
その小説の中で、主人公が見る夢の中でいつも哀しげなメロディが流れている、という設定なんですが、そのメロディを実際に曲にしてみよう、というのが作ったきっかけ。
数年前に「Amethyst」の曲として発表した物を、MIDIでBGM風にアレンジしてみました。
私のMIDI作品一作目です。
個人的に、自分が今までに作った曲の中でも最も思い入れのある曲の一つであることと、 旋律や構成がBGM風にアレンジしやすかったというのがこの曲を一作目に選んだ理由でしょうか。

夢魔の続きを読む

関連するブログ記事
カテゴリー
自作曲
タグ
Amethyst | MIDI | 夢魔 | 自作曲

コメント(15)

 

aliases の設定と使い方についてのメモ

順番的には、virtmapsの設定と使い方についてのメモよりも先にこっちを書くべきだったかなぁ、とか思ったりもして、とりあえず今回は aliases についてのメモです。

aliases とは

/etc/aliases (VPS の場合は ~/etc/aliases) にある設定ファイルのことです。

このファイルを編集することで、sendmail のメールアカウントに対して、別名(エイリアス)を設定することができます。

aliases の設定方法

例えば、「info」というアカウント宛のメールを、実際には「webmaster」というアカウントに配送したい、という時には、

info: webmaster

と書きます。

同一サーバー内ではなく、別のドメインのメールアドレス等に転送をしたいという場合は、

info: another@domain.com

のようにすれば、「info」宛のメールを「another@domain.com」に直接転送できます。

さらに、サーバーのメールボックスに保存しつつ転送、ということも可能です。
その場合、

info: webmaster, another@domain.com

と書けば、「info」宛のメールを「webmaster」のメールボックスに保存しつつ、「another@domain.com」に転送できます。

また、

junk: /dev/null

という風に、配送先を/dev/nullに指定すると、どこにも届かなくなるので、ムダなエラーメール・SPAMメールのログで容量を取りたくない、なんて時には virtmaps のワイルドカードと組み合わせる事で、役に立つかもしれません。

届いたメールを、パイプを使って直接何らかのプログラムに渡して実行することもできます。

autoresponse: "|/usr/bin/autoresponse-script"

等と設定すれば、「autoresponse」というアカウント宛のメールが届いた時に、自動で「/usr/bin/autoresponse-script」というプログラムが実行されます。

特定のメールに対する自動返信スクリプト等を書いた際に便利ですね。

設定ファイルを編集した後は、シェル上で、

% newaliases

というコマンドを実行すれば、設定が反映されます。

ただし、VPS(バーチャル・プライベート・サーバー)の場合には、

% vnewaliases

というコマンドになります(VPSにもよるんでしょうけど)。

aliases でできないこと

virtmaps の設定と使い方についてのメモでも書いた通り、 aliases では所謂「バーチャルドメイン」とか「バーチャルサブホスト」等と呼ばれる、複数ドメインをひとつのサーバーアカウントで管理する場合には、その「複数ドメイン」という概念に対応できません。

「goodhope.jp」と「abe-tatsuya.com」という二つのドメインを管理していた場合、 aliases で、

hatsunemiku: miku

と設定していたら、「hatsunemiku@goodhope.jp」宛のメールも「hatsunemiku@abe-tatsuya.com」宛のメールも、どちらも「miku」というアカウントに配送されてしまいます。

aliases だけでは異なるドメインのメールアカウントに対しての別名(エイリアス)を設定することはできないので、それを実現するためには virtmaps を使う必要があります。

ただし、 virtmaps の方はパイプを使って、メール受信時に直接プログラムを起動するようなことができないので、どちらも併用することになるでしょう。

ちなみに、メールが届いた際に処理される順番は、 virtmaps ⇒ aliases の順番です。

関連するブログ記事
カテゴリー
Linux/UNIX
タグ
aliases | sendmail | SMTP | UNIX | virtmaps | VPS | コマンドライン | シェル | メール | レンタルサーバー

コメント(12)

 

「花帰葬 SOUND TRACKS」 - 志方あきこ

旧ブログから志方あきこさんのCDの感想文を発掘してくるシリーズ第三弾。
今回は「花帰葬 SOUND TRACKS」の感想です。

これまた2年以上前の印象なので、その点をご了承下さい。

とりあえず、表題曲の『花帰葬』は名曲。


タイトル: 花帰葬 SOUND TRACKS
アーティスト: 志方あきこ
2004.12.30発売
アルバム ディスク2枚

購入してから一ヶ月近く経っちゃいましたが、志方あきこ氏のアルバム「花帰葬 SOUND TRACKS」の感想を。

このアルバムは「花帰葬」というタイトルのゲームのサントラらしいので購入は見送ってたのですが、ネットで色々見て回ると表題曲の「花帰葬」が非常に評判良かったので購入。
結果、全体的に短めのインスト曲が多いものの、上記「花帰葬」だけでも充分お釣りの来る出来でした。
以下、大量に曲があるのでしんどいですが全曲感想に挑戦。
ゲームのサントラという性質上、何だか見当違いなこと書いちゃいそうで怖いのですが……。


DISC.1

  1. 花帰葬
    名曲。超名曲。
    「ロマの娘」(廃墟と楽園)や「迷夢」(緑の森で眠ル鳥)と並ぶ凄い曲。
    全体的にメロディがかっこよすぎなんですが、特にイントロのストリングスとエレキギターのユニゾンがあまりにもかっこよすぎて、何度聴いても鳥肌が立ちます。
    お得意の三拍子の軽妙なリズムに乗った、流れるようなメロディが秀逸。
    ワンコーラスしかないのがもったいなすぎる……。
  2. 白く降り続くもの
    もろにタイトル通り、しんしんと降り続ける雪をイメージさせるインスト曲。
    哀愁漂うメロディが凄く好きです。
  3. Nevicata
    重厚なコーラスの重い感じの曲。
    同じく、雪というか厳しい冬のイメージが湧いてきます。
  4. 邂逅
    コーラスのみで構成される静かで荘厳な感じの曲。
    しょっぱなの「らんららららららららら~」のコーラスがたまりせんな。
  5. 玄冬
    なんかこれはゲームのBGMっぽい曲ですね。
    リズミカルで哀愁のあるメロディ。良いです。
  6. 銀朱
    マーチっぽい曲。っていうかマーチか。
    ティンパニや低音のストリングスが、物々しい雰囲気を見事に表現してます。
  7. 街の息吹
    これもゲームっぽい曲。
    旅してるっぽいイメージ。パーカッションが耳に心地良いです。
  8. 市場の風景
    タイトル通り、活気のある市場っぽい曲ですね。
    明るさと爽やかさがあって良いです。
  9. 薄明
    静かなイントロから始まる寂しげな曲。
    メロディは良いんだけどばっとしない、かな?
  10. 終末への歯車
    流れるようなピアノと、機械っぽさを感じさせるパーカッション、這うようなベースが何ともタイトル通りのイメージを表現しています。
  11. 白梟
    金属音っぽいパッドの音とか、厳冬の夜っぽさをうまく表現していると思います。
  12. le lacrime
    静かなピアノ曲。滑らかな音が良いですなぁ。
  13. 希沙
    ゲームっぽい音だな~。
    朝っぽい感じ。
  14. culla
    オルゴールな曲。綺麗なメロディですね。
  15. 嘆きの風
    不吉っぽい雰囲気の中にも綺麗なメロディがあって良いです。
  16. 鼠色の壁と鉄格子
    水の滴る音がもろに牢屋の中って感じですね。
    妙に変則的なドラムのリズムの違和感が良いです。
  17. ROVINA
    ちょっと近未来的な感じの曲。
    序盤の主旋律のオルガンが不吉で好き。
  18. 黒鷹
    時計の音とかリバース音(?)とか、そういう小道具は好きです。
    これも不吉な感じですね。
  19. 始まりを告げるもの(BonusTrack)
    「白く降り続くもの」に語りと歌を乗せた曲。キーが低くなってますが。
    序盤の語りは……どうなんだろう。良い声してらっしゃるんですが。
  20. 玄冬(Bonus Track)
    5曲目の「玄冬」の別アレンジ?
    なんか妙にアップテンポで、怪しげなコーラスとか妙な音とか色々入ってて凄く好きです。
    あの老人みたいな声も志方氏のエフェクトかけた声なんでしょうか……?
  21. 箱庭の外で(Bonus Track)
    Disc.2に入っている「箱庭の外で」の歌入りバージョン。
    悲しげなメロディが良いですなぁ。
    そしてやっぱり歌が入ってる方が良い。

DISC.2

  1. 管理者の塔
    ほとんどSEに近い短い曲。さすがにこれの感想は無理。orz
  2. 研究者
    印象は薄いけど綺麗な曲だなぁ。
    ゲームやってないからでしょうが、曲とタイトルとの関連が見えない。
  3. 幽明
    名曲。VAGRANCYでもMIDIやMP3が公開されてた気がします。
    非常に私のツボなメロディ。歌が入ってないのが残念すぎます……。
  4. 或るK氏の華麗なる食卓
    とりあえず、ゲームに登場する「K氏」という人がギャグ系キャラなんだろうなぁということはわかった。
  5. 望郷~過去への扉~
    和風なメロディの綺麗な曲。これも歌が入ってて欲しかった……。
  6. 記憶の残滓
    寂しげな余韻の残る曲。
    ピアノのみのシンプルさが逆に空虚さをうまく表してて良いです。
  7. 閉ざされた瞼
    ばりばりのストリングス全開の不吉なメロディの曲。
    葬送曲ですかね。タイトルもそんな感じですし。
  8. Agnus Dei
    威厳の感じられる宗教感溢れる曲。
    相変わらずコーラスが素晴らしい……。
  9. Nevica fitto fitto
    Disc.1の3曲目「Nevicata」の別アレンジインスト版。
    コーラスがないので寂しいですが、主旋律のマリンバ?(違うかも)の丸い音が何とも良い味出してます。
  10. 箱庭の外で
    ハープシコード?(違うかも)とパイプオルガンの哀愁メロディな曲。
    良い曲なんですが、やっぱDisc.1のボーカル入り版の方が良いですね。
  11. sorriso
    優しいメロディの癒し系な曲。
    コーラスが綺麗です。
  12. 花帰葬~大切な君に~
    テーマ曲「花帰葬」の別アレンジインスト版。
    やっぱメロディが滅茶苦茶かっこいいので、この曲はインストでも鳥肌が立ってしまう。
  13. 悠遠
    この曲もメロディとかコード進行がもろに好みだ……。
    静かな中にかっこいいメロディでたまりません。
    ……歌が欲しかった……。
  14. 春告げ
    なんかベタな「春の訪れ」という感じの曲ですね。
    いや、ゲームのBGMとしては非常にわかりやすくて良いと思います。
    メロディはやっぱり綺麗だし。
  15. 陽の当たる窓辺
    非常に優しくて前向きな感じのメロディ。
    ハッピーエンドっぽい曲ですね。
  16. 優しい未来
    ストリングスオンリーの優しい感じの曲。
  17. 孤独を知る人
    ハープかな? ちょっと寂しげな余韻の残る綺麗な曲。
  18. 花帰葬~遠い約束~
    「花帰葬」のインストオルゴール版。
    このアレンジは、この曲のノリの良さがなくなっちゃってちょっと微妙かも。
  19. ふたつの足跡
    超短いですが、余韻の残る綺麗なメロディというかコードですね。
  20. ナゾ?
    これもVAGRANCYでMIDIが公開されてましたが、何とも不思議な曲で好きです。
  21. 或るK氏の?
    とりあえず、ゲームに登場する「K氏」という人がギャグ系キャラなんだろうなぁということはわかった。
  22. 研究者(Bonus Track)
    「研究者」の別アレンジボーカル入りバージョン。
    バイオリンがまためちゃくちゃかっこいい。
  23. la lacrime(Bonus Track)
    Disc.1の「la lacrime」の別アレンジバージョン。
    管楽器が色々入ってて豪華になってて良いです。
  24. 白梟(Bonus Track)
    Dosc.1の「白梟」のコーラス入りバージョン。
    やっぱり声が入ってるだけでお得感が増します。

大量に曲がある上に、ゲームのサントラということで短めのインスト曲が多いせいで、かなりいい加減な感想になってしまいました。orz
まあ、仕方ないか。

とりあえず、表題曲の「花帰葬」は超名曲ですよ。

関連するブログ記事
カテゴリー
志方あきこ
タグ
Agnus Dei | culla | la lacrime(Bonus Track) | le lacrime | Nevica fitto fitto | Nevicata | ROVINA | sorriso | ふたつの足跡 | ナゾ? | 優しい未来 | 嘆きの風 | 始まりを告げるもの(BonusTrack) | 孤独を知る人 | 市場の風景 | 希沙 | 幽明 | 志方あきこ | 悠遠 | 或るK氏の華麗なる食卓 | 或るK氏の? | 春告げ | 望郷~過去への扉~ | 玄冬 | 玄冬(Bonus Track) | 白く降り続くもの | 白梟 | 白梟(Bonus Track) | 研究者 | 研究者(Bonus Track) | 管理者の塔 | 箱庭の外で | 箱庭の外で(Bonus Track) | 終末への歯車 | 花帰葬 | 花帰葬 SOUND TRACKS | 花帰葬~大切な君に~ | 花帰葬~遠い約束~ | 薄明 | 街の息吹 | 記憶の残滓 | 邂逅 | 銀朱 | 閉ざされた瞼 | 陽の当たる窓辺 | 黒鷹 | 鼠色の壁と鉄格子

コメント(30)

 

perl の CGI や PHP でよく出力する Content-type ヘッダ一覧 (MIME-type)

ここ数日、perlやPHPでファイルのダウンロード確認ダイアログを表示させる方法へのアクセスが、すば抜けて多いです。

こういうスクリプトを書こうとしている人って多いんでしょうか。

なので、件のエントリーの補完ということで、今回は perl の CGI や PHP で個人的によく出力する or 今後出力する機会がありそうな Content-type ヘッダをまとめておきます。
まとめとけば自分が後で一番楽だし。

テキスト・文書・MSオフィス関連

ファイルの種類 拡張子 MIME-Type
テキスト文書 .txt text/plain
CSVファイル .csv text/csv
TSVファイル .tsv text/tab-separated-values
ワード文書 .doc application/msword
エクセルシート .xls application/vnd.ms-excel
パワーポイント .ppt application/vnd.ms-powerpoint
PDF文書 .pdf application/pdf
Docuworks .xdw application/vnd.fujixerox.docuworks
HTML文書 .html .htm text/html
スタイルシート .css text/css
JavaScriptファイル .js text/javascript
HDML文書 .hdml text/x-hdml

画像関連

ファイルの種類 拡張子 MIME-Type
JPEG .jpg .jpeg image/jpeg
PNG .png image/png
GIF .gif image/gif
ビットマップ .bmp image/bmp
イラストレーター .ai application/postscript

音声関連

ファイルの種類 拡張子 MIME-Type
MP3 .mp3 audio/mpeg
MP4 .m4a audio/mp4
WAV .wav audio/x-wav
MIDI .mid .midi audio/midi
SMAF .mmf application/x-smaf

動画関連

ファイルの種類 拡張子 MIME-Type
MPEG .mpg .mpeg video/mpeg
WMV .wmv video/x-ms-wmv
Flash (Shockwave) .swf application/x-shockwave-flash
3GPP2 .3g2 video/3gpp2

圧縮ファイル関連

ファイルの種類 拡張子 MIME-Type
ZIP形式 .zip application/zip
LZH形式 .lha .lzh application/x-lzh
tar / tar+gzip形式 .tar .tgz application/x-tar

その他

ファイルの種類 拡張子 MIME-Type
実行ファイル .exe application/octet-stream

perl なら出力の一番最初に、

print qq|Content-type: MIME-Type\n|;

PHPなら出力の一番最初に、

header("Content-type: MIME-Type");

とやれば良いわけです。

関連するブログ記事
カテゴリー
PHP | perl/CGI
タグ
CGI | Content-type | HTTPヘッダ | MIME | perl | PHP | RFC | ダウンロード

コメント(754) | トラックバック(3)

 

virtmapsの設定と使い方についてのメモ

virtmaps とは

同一サーバーで、複数のドメインを利用する、所謂バーチャルドメインとかバーチャルサブホストとか、そんな感じで呼ばれているやつで使います。

SMTPサーバーは、このバーチャルドメインとかバーチャルサブホストとか呼ばれるものを処理できないらしいです。

例えば、僕が使っているこのレンタルサーバーで、今「abe-tatsuya.com」(このブログのドメインですね)と「goodhope.jp」(仕事の方のサイトのドメインです)の二つを管理しています。

その場合、Apache(Webサーバー)は、「abe-tatsuya.com と goodhope.jpは別物だ」と理解していますが、SMTPサーバーの方は、「hatsunemiku@abe-tatsuya.com と hatsunemiku@goodhope.jp は、どちらも同じうちのサーバーの hatsunemiku アカウント宛のメールだ」としか理解できません。
つまり、どっちのドメイン宛にメール出しても「hatsunemiku」という同一のメールボックスに届くわけです。

これだと、複数のドメインの「info@~~」とか「webmaster@~~」とか「support@~~」みたいな、よくあるわかりやすいメールアドレスを、それぞれ別のメールボックスで管理できなくて不便ですよね。

それを解決するのが、 virtmaps です。

virtmaps の設定方法

~/etc/virtmaps という設定ファイルを編集することで、virtmaps の挙動を設定することができます。

基本的な使い方は簡単。例えば上記の例の場合なら、

hatsunemiku@abe-tatsuya.com	hatsunemiku_a
hatsunemiku@goodhope.jp	hatsunemiku_g

という二行を追加すれば、「hatsunemiku@abe-tatsuya.com」宛のメールは「hatsunemiku_a」というメールボックスへ。「hatsunemiku@goodhope.jp」宛のメールは「hatsunemiku_g」というメールボックスへ。それぞれ渡されます。
※もちろん、事前に「hatsunemiku_a」「hatsunemiku_g」というメールアカウントを作成しておく必要があります。

設定ファイルを編集したら、シェル上で、

% vnewvirtmaps

というコマンドを実行すれば、編集した設定が反映されます。

また、ちょっと便利な使い方としては、例に出した「hatsunemiku@goodhope.jp」なんていうメールアドレスの場合、メール送信者がアドレスを直接入力して送ろうとした際に、間違って「hatunemiku@goodhope.jp」宛に送ってしまう、というようなことは、ありがちですよね。

こういう時に、

hatsunemiku@goodhope.jp	hatsunemiku_g
hatunemiku@goodhope.jp		hatsunemiku_g

としておけば、スペルミスの方のメールアドレスでも、ちゃんとメールボックスにメールが届きます。
(まあこれは本来 aliases で設定するべきものかもですが……それを複数ドメインで実現するには virtmaps じゃないと無理ですよね)。

それと、 virtmaps ではドメイン名でのワイルドカードが使えるので、

abe-tatsuya.com	tatsuya

としておくと、「aaaaa@abe-tatsuya.com」だろうが「kameda-brothers@abe-tatsuya.com」だろうが、そのメールアカウントを作っている・作っていないおかまいなしに、全ての「abe-tatusya.com」ドメイン宛のメールが「tatusya」のメールボックスに届きます。
※もちろん「tatsuya」というメールアカウントだけは作っておかないといけませんが。

なお、virtmaps の設定ファイルは、上から順に判定されていき、マッチした時点で処理され、そこから先は判定されません。
ですので、

abe-tatsuya.com		tatsuya
hatsunemiku@abe-tatsuya.com	hatsunemiku_a

とやっちゃうと、「hatsunemiku@abe-tatsuya.com」宛のメールも一行目の条件にマッチしてしまうため、「hatsunemiku_a」には届かず「tatsuya」に届いてしまいます。

virtmaps でできないこと

まず、正規表現は使えません。

正規表現が使えたら、何かのWebアプリケーションの動作確認テストとかで大量にメールアドレスを作って、新規登録のエラーパターンを試したい、とかいう時に、

test\d{3}@goodhope.jp	test

とか設定できると、凄く便利なんですけどね……。

それと、届いたメールを、パイプを使って何らかのプログラムに渡すようなこともできません。

Webアプリケーション側で、ランダムな文字列でメールアドレスを生成して、そのアドレス宛にユーザーからメールを送ってもらうことで、何らかの認証をする、なんていう仕組みは、特に携帯関連でこれからどんどんニーズが高まっていくと思いますが(mixiとかOpenPNEなんかも携帯での投稿機能をそれで実現してますよね)、それを virtmaps だけで実現することは出来ません。

mobile-service.com	"|/home/tatsuya/mail-filter.pl"

みたいなことができたら、凄く便利なんですけどね……。

ただ、これには抜け道があります。
virtmaps と aliases では、virtmaps が先に処理されて、その後 virtmaps によって振り分けられたアカウントに対して、aliases での設定が処理されるからです。

aliases ならパイプが使えるので、 virtmaps には

mobile-service.com	mailfilter

みたいな感じで、全てのメールを mailfilter アカウントに渡すようにしておいて、 aliases の設定ファイルに、

mailfilter: "|/home/tatsuya/mail-fileter.pl"

という風に「mailfilter」というアカウント宛のメールを「/home/tatsuya/mail-fileter.pl」に渡すように設定しておけば、結果的に「mobile-service.com」ドメイン宛の全てのメールを、「/home/tatsuya/mail-fileter.pl」というプログラムに渡して、何らかの認証処理等を行うことができるわけです。

関連するブログ記事
カテゴリー
Linux/UNIX
タグ
aliases | OpenPNE | sendmail | SMTP | UNIX | virtmaps | VPS | ケータイメール | コマンドライン | シェル | メール | モバイル | レンタルサーバー

コメント(7)

 

OpenPNEでプロフィール項目を追加しても管理画面に表示が反映されない件

ちょっとSNS用のCMS「OpenPNE」をインストールする機会があったんですが、つまらないところでハマった(というほどでもないけど)のでメモ。

とりあえず普通にインストールは完了し、管理画面にログイン。

試しにプロフィールの項目を追加してみようと思ってやってみたら、何度やっても追加されない。

おっかしいなぁ、と思ってMySQLデータベースの中身を見てみたら、テーブル「c_profile」に、普通に新規に追加したプロフィール項目のデータは入ってる。

ということは、どうも管理画面側でデータベースを select した際に、なんらかの原因でデータを引っ張ってこれてないんだな、と目星がついたので、該当する箇所のPHPソースコードを元にざっと grep してみたところ、あっさり原因判明。

OpenPNEの設定ファイル「config.php」には、

// MySQL ヒント使用設定
define('OPENPNE_USE_MYSQL_HINT', true);

という箇所があるんですが、「MySQL ヒント」って何だ?と思いつつ、とりあえずデフォルトで true になってるからそのままでいいや、と思ったら、そこが原因だったらしい。

先ほどの管理画面のプロフィール項目のデータを、テーブル「c_profile」から select してくる際に、MySQL ヒント使用設定(OPENPNE_USE_MYSQL_HINT)が true だと、SQL文の中に「/*! */」で括られたコメントを挿入してるみたい。

で、何故かそのコメントが入ってると、データを引っ張って来れなくて、データベースにはちゃんとデータが入っているのに、管理画面には項目が表示されない、ということになっていたようです。
なんでそのコメントが入ってると駄目なのかは不明(つまり原因判明と言いつつ、本当の意味では原因は判明してないわけです……)。

まあ、とにかくこの「MySQL ヒント使用設定」をオフにすれば、解決しました。

// MySQL ヒント使用設定
define('OPENPNE_USE_MYSQL_HINT', false);

けど、この「MySQLヒント」って言うのは何なんだろう?
ググっても特にそれらしきものは引っかからなくて、よくわかりません。
誰か教えて、エロい人。

関連するブログ記事
カテゴリー
MySQL | OpenPNE
タグ
CMS | MySQL | OpenPNE | PHP | SNS | オープンソース

コメント(6)

 

crontabの設定方法

2007年10月16日 23:59 crontabの設定方法

今回は旧ブログから記事を引っ張ってきました。

cronの設定に関するメモ書きです。


予め定められたスケジュール通りに、定期的に処理を実行する cron 。
この名前はギリシャ神話の時の神クロノスから取ってるそうな。
以下、FreeBSDでのcron利用方法。

現在登録しているスケジュールの設定を表示するには、シェル上で、

% crontab -l

とする。

スケジュール設定を編集する時は、

% crontab -e

とすると、エディタが起動し、設定ファイル編集画面になる。

設定ファイルの記述方法は、一行につきひとつのスケジュールで、
分 時 日 月 曜日 コマンド
という形式。
「分 時 日 月 曜日」のそれぞれには * が使える。

例えば、サーバーのアクセスログを解析する /home/amethyst/src/analyze.pl というperlスクリプトを作った後、それを毎日朝の5時に実行したい、という時は、

0 5 * * * /usr/local/bin/perl /home/amethyst/src/analyze.pl

とすれば良い。

曜日は0が日曜で6が土曜となる。
毎週月曜と木曜の13時にcommandを実行したいなら、

0 13 * * 1,4 command

となる。
上記の例のように、コンマで区切ることで複数の条件を指定することができる。

標準出力に出力されるコマンドの実行結果は、設定したアカウントのメールアドレス宛に送信される。
結果をメールで受け取りたくない場合は、出力を /dev/null に渡せば良い。

0 13 * * 1,4 command 1> /dev/null

上記のように設定しても、標準エラー出力に対する出力(要するに何らかのエラーがあった際のメッセージ)はメールで送信される。
エラー出力もメールで受け取りたくい場合は、

0 13 * * 1,4 command /dev/null 2>&1

とすれば良い。

cronからのコマンド実行時は環境変数がほとんど設定されないことが多いので、cronから直接コマンドを実行するよりも、最初からシェルスクリプト内に環境変数設定とコマンドを書いて、cronからそのシェルスクリプトを実行した方が余計な手間が省けることが多い。


ここまでが旧ブログの記事。

ここからは今回の追記です。

例えば、10分毎になんらかのプログラムを起動するするように設定したい場合、

0,10,20,30,40,50 * * * * command

と書けばいいわけですが、ちょっとめんどくさいですよね。

そういう場合は、

*/10 * * * * command

と書けば、10分毎にcommandが実行されます。

関連するブログ記事
カテゴリー
Linux/UNIX
タグ
crontab | FreeBSD | UNIX | コマンドライン | シェル

コメント(4)

 

世界最大の翼竜展を見に、大阪市立自然史博物館に行ってきました

昨日は世界最大の翼竜展を見に、大阪・長居の大阪市立自然史博物館まで行ってきました。

所謂「恐竜展」は毎年頻繁に各地で開催されていますが、翼竜にスポットを当てた特設展示って珍しいですよね。

普段、恐竜展なんかでは「恐竜と同時代の爬虫類の仲間達」みたいな感じで首長竜とかとセットではじっこの方に標本が展示されていることはあっても、なかなか翼竜オンリーの展示なんて見る機会はないと思ったので、是が非でも行っておきたいと思っていました。

今回の展示のメインは、「世界最大の」と銘打っているだけあって、翼開長10mにも及ぶ正にバケモノでした。

「ケツァルコアトルス」という名前らしいですが、めちゃくちゃインパクトありましたね。デカすぎ。
あんなデカい生き物が空を飛んでいたのかと思うと、ワクワクします。
キリンやゾウ並の大きさらしいですよ。
そんなデカい飛行生物って、もうファンタジーの世界じゃないですか。
「ケツァルコアトルス」という名前自体、アステカ文明の翼の生えた蛇の神様で、よくゲームなんかにも出でくる「ケツァルコアトル」から取ってるので、余計にファンタジーっぽい。

館内の各所にテレビが置いてあって、ケツァルコアトルスの再現CGみたいなのが色々再生されていましたが、凄くできが良くて、感動しました。

ケツァルコアトルス以外にも、大小様々な翼竜の化石や模型が展示されていたんですが、それと一緒にイメージ画も展示されていました。
そのイラストに描かれた翼竜達が凄くカラフルで綺麗で、本当にファンタジーっぽかったですね。

僕が子供の頃、翼竜のイメージ画と言えば、灰色か茶色っぽい肌の色をしたプテラノドンのイメージが凄くあるんですが、今では翼竜の中にも体毛が生えていたことが確認されているものもいるようで、その関係からカラフルな絵が増えているのでしょうか。
既に地球上に存在しない「空飛ぶ爬虫類の絵」ということもあって、非常に幻想的で魅力的でした。

よくある「恐竜展」で「翼竜」としてひとまとめにされているせいもあってか、翼竜自体にはそんなにバリエーションが豊富なイメージはなかったんですが、体の大きさ、トサカの形、嘴の形、尾の長さ等など、凄く様々な翼竜がいたんだなぁ、というのが素直な感想です。

本当に小さい翼竜だと、現代のハト程度の大きさだし、「こんなのが現代にも生きてたら面白いのになぁ」なんてことを思いました。
けど、もし現代にも普通に翼竜が生き残っていたら、それが当たり前だから逆にそんな「面白い」なんて感情は生まれないんでしょうね。

あと、興味深かったのが、卵から孵化してすぐの翼竜の化石ですね。
生まれてすぐの状態で、既に体の作りが親と同じなんですよね。他の爬虫類も大抵そうなんでしょうけど。

鳥の場合は、孵化してからしばらくは「雛」の状態で、親鳥と比べると、体の大きさに対する翼の大きさの割合も小さくて、到底空を飛べるような体の作りではないと思うんですが、翼竜の場合は、体の作りからして、生まれて数時間でもう空を飛べただろうとのこと。
凄いなぁ。

これは翼竜が、鳥とは違って巣を作って卵や雛の世話をしたりはせず、卵は産み捨て状態にしてたんだろうな、ということに繋がる、と。
だから生まれてすぐに飛べないと生き残れないということですね。

地球の歴史の中で、「空を飛ぶ」という能力(滑空ではなく)を手に入れた脊椎動物は、

  • 哺乳類(コウモリとか)
  • 鳥類
  • 爬虫類(翼竜)

だけなんですよね。
で、その中で翼竜だけが残念ながら絶滅してしまい、現状、「空飛ぶ爬虫類」は存在しない、と。

「滑空」も含めれば、

  • ムササビやモモンガ等の哺乳類
  • トビウオ(魚類)
  • トビトカゲ(爬虫類)

なんかも含まれるので、また何千万年後とかには、トビトカゲから進化した新たな「空飛ぶ爬虫類」も出てくるのかもしれませんね。
あと、「空飛ぶ魚類」も(フューチャーイズワイルドにそんなのがいたなぁ)。

海にも淡水にも陸上にも、様々な脊椎動物がいますが、「空」となると途端にその数は一気に減るんですよね。
そう考えると、ちょっと話は逸れますが、ほとんどの種が当たり前に飛べる「昆虫」というやつらはやっぱりただものじゃないなぁ、なんてことも思ったりします。

何にせよ、自分が死ぬまでの間に、翼竜や恐竜という、確かにこの地球上に存在して大繁栄していた生き物を、自分の目で生で見ることは絶対にできない、というのが(太古の昔に存在していたということがわかっているからこそ余計に)、なんか残念というか悔しいというか。
動いてる翼竜とか恐竜とか見てみたいっす。ほんとに。

最後に。
今回は時間の都合で特設展示の「世界最大の翼竜展」しか見られなかったんですが、この大阪市立自然史博物館は、常設展示もめちゃくちゃ面白そうだったので、また今度常設展示の方もじっくり見に行きたいなぁと思いました。

関連するブログ記事
カテゴリー
博物館巡り
タグ
ケツァルコアトルス | 化石 | 博物館 | 大阪市立自然史博物館 | 恐竜 | 爬虫類 | 絶滅動物 | 翼竜 | 進化論 | 遺伝子

コメント(5)

 

「廃墟と楽園」 - 志方あきこ

志方あきこさん関連の検索でここに来る人がどんどん増える一方なので、またもや旧ブログから記事を引っ張ってきました。

今回のは志方あきこさんの自主制作CD『廃墟と楽園』の感想です。

これも二年以上前に書いた記事なので、その点はご了承下さい。

改めて自分で読み返してみて、二年前も今も、僕の中で『ロマの娘』の神曲度合いは変わってないんだなぁ、と思いました。


タイトル: 廃墟と楽園
アーティスト: 志方あきこ
2003.08.24発売
アルバム ディスク1枚

「緑の森で眠ル鳥」の感想に続いて、もう一枚同時に買ったアルバムの感想を。

「緑の森で眠ル鳥」ではボーカル・コーラス以外のほとんどの音が打ち込みでしたが、このアルバムでは生楽器の割合が増えているので聴いてて嬉しいです。
曲のバリエーションも前作と比較して格段に豊富になって、単に幻想的というだけではない曲も沢山あって良いです。

  1. Come raggio di sol
    アルバムのオープニングらしい短めの曲。
    アコギとボーカル・コーラスのみというアレンジが良い雰囲気出してます。
    ラストの「らららららら~」のとこの泣き系メロディがたまりません。
  2. ロマの娘
    この曲は別格と言うか、神というか。もう凄すぎ。
    この曲をフルで聴きたいがためにCDを買ったわけですが、やはり買って損はない出来でした。素晴らしい。
    アップテンポな五拍子のリズム、超かっこいいメロディ、サビ始まりの構成、高音で細いようで強いボーカル、サビ後の多重コーラス、ボーカルと絡むバイオリンのメロディ、その他諸々。何もかもが私のストライクゾーンど真ん中で。
    この曲が素晴らし過ぎるだけに、このアルバムの他の曲が個人的にちょっと物足りなく感じてしまったのがもったいないかも知れません。
    とにかくこの曲は大好き。
  3. MARE (Andante molto espressivo)
    パーカッションのリズムが心地いい幻想的な曲。
    この曲は「ロマの娘」の直後の曲なせいで、私としてはどうしても印象の薄い曲に。orz
    とは言え、超低い声と超高い声のユニゾンとか、聴いてて楽しい曲です。
    生音のアコーディオンも非常に良い味出してます。
  4. Se l'aura spira
    マイナー調が多い印象のアルバムの中で、前向きな印象を感じさせるメロディの綺麗な曲。
    短い曲ですが、静→動→静と移り変わる構成が、はっきりメリハリがつけられていて良いですね。
  5. ラヂオ予報
    幻想的な雰囲気から一転して、牧歌的な曲。
    この曲はボーカル・コーラスも凄く良いですが、とにかくアコーディオンが凄く良い味出してますねぇ。
    なんかのどかで良いです。和む。詞も他の曲と比較して格段に共感し易いですしね。
    あと、ドラムの音も凄く好きです。
  6. 廃墟と楽園
    アルバムの表題曲だけあって、非常に完成度の高い曲。
    幻想系の曲のお手本という感じの綺麗なアレンジと泣き系のメロディが好みです。特にサビのメロディは凄くツボ。
    ただ、ちょっとキーが高すぎるかなぁ、という印象。
  7. 何処へ
    静かでゆったりとした物悲しいメロディの曲。
    他と比べてコーラスが少なめでメインボーカルでしっとりと聴かせてくれる名曲です。
    掠れた声が良い意味で色気があって良いなぁと思います。
  8. Contrasto
    意外にもイントロをピアノをメインにした曲ってこの曲くらいかも? 前曲の「何処へ」から続いてしっとり系の曲です。
    間奏のバイオリンが滅茶苦茶かっこいいなぁ。イントロとラストのバイオリンも哀愁があって凄く好き。
    中盤のボーカルがユニゾンな部分とかもたまりません。
  9. イゥリプカ
    民族系の雰囲気漂うこれまた綺麗な曲。
    イントロの厳かな宗教色の強い雰囲気から一気にリズミカルでメロディアスなAメロに入るとことかは構成が秀逸ですね~。
    全体的に叙事詩という感じで非常にストーリー性を感じさせる曲です。

  10. 野性的なリズムと民族的なアレンジと幻想的なメロディの融合、みたいな。
    キー高いなぁ。凄い。
    綺麗系の曲がほとんどな中で、この曲の野性的な雰囲気はちょっと異色ですね。大好きですが。
    終盤の迫力あるアレンジが特にお気に入り。
  11. MARE (Allegretto grazioso)
    3曲目の曲の別アレンジ版。
    「MARE (Andante molto espressivo)」よりも神秘系寄りな感じのアレンジでしょうか。ボーカルにもリヴァーブかけまくってそういう雰囲気を出してます。
    どちらも甲乙付け難いですね。
    多分こちらはフル打ち込みなのかな? デジタルっぽさがあります。

アルバム全体の感想としては、個人的にはとにかく「ロマの娘」のインパクトが強いです。
他の曲も名曲揃いなのですが、あまりにもツボにハマり過ぎて……。何度聴いても鳥肌が立つ(笑)。

関連するブログ記事
カテゴリー
志方あきこ
タグ
Come raggio di sol | Contrasto | MARE (Allegretto grazioso) | MARE (Andante molto espressivo) | Se l'aura spira | イゥリプカ | ラヂオ予報 | ロマの娘 | 何処へ | | 廃墟と楽園 | 志方あきこ

コメント(4)

 

Yahoo!モバイルのjigブラウザ機能の問題点と、perlとPHPでのjigブラウザのUser-Agent振り分け方法

「ケータイでPCのサイトが閲覧できる!」という謳い文句の割に、所謂「フルブラウザ」と比較しても機能的に中途半端で(特にJavaScript非対応はイタい)、個人的にはあんまり使い物にならないと思っている jigブラウザ。

同一URLで、User-Agentを元にして、ケータイとPCを自動で振り分ける際に、jigブラウザをPCサイト側に振り分けると、サイトの構成によっては、あまりいただけないことになってしまいます。

特に問題なのが、ケータイ版のYahoo!検索「Yahoo!モバイル」で検索した際に「PCサイトとの一致」でヒットしたサイトは、自動的にjigブラウザで表示されてしまうこと。

Yahoo!モバイルのインデックスが微妙なせいで、ケータイサイトとPCサイトを同一URLで公開していると、「携帯サイトとの一致」ではヒットしないけど「PCサイトとの一致」ではヒットする、みたいなことも起こりうるんですよね。

「PCサイトとの一致」でヒットしたサイトを、自動でjigブラウザで表示するのは基本的には便利な機能なんですが……。
こっちはちゃんとケータイに合わせた仕様でのサイトを提供しているんだから、わざわざ中途半端な機能しかないjigブラウザでPCサイト見るくらいなら、普通にケータイ用のブラウザでケータイ向けサイトを見てもらった方が、まともにサイト内のコンテンツを利用することができるわけです。

そういうわけで、jigブラウザからのアクセスの場合は、それを判別して、サイト内に注意書きを自動で入れるとか、そもそもjigブラウザでもケータイ向けサイトを表示するようにするとか、そんな対処が必要になります。

「Yahoo!モバイル」等で提供されている「jigブラウザ WEB」のデフォルトのUser-Agentは、

Mozilla/4.0 (jig browser web; version; 機種名

という感じです。
version」はjigブラウザのバージョン。「1.0.4」みたいな数字が入る。
機種名」は利用している携帯の機種名。「F904i」「812SH」みたいなのが入る。

なのでとりあえず、User-Agent内に「jig browser web」が含まれている場合はjigブラウザだと判断して、何らかの処理をするのが手っ取り早いかと思います。

perlなら、

if($ENV{'HTTP_USER_AGENT'} =~ /jig browser web/){
	#-- ここにjigブラウザの場合の処理
}

PHPなら、

if(preg_match("/jig browser web/",$_SERVER['HTTP_USER_AGENT'])){
	// ここにjigブラウザの場合の処理
}

こんな感じで。

ちなみに、GoogleもPCサイトの検索結果に出たサイトを携帯で見る場合、独自のブラウザを介して表示しますが、こっちは未調査です。
そのうち調べます。

関連するブログ記事
カテゴリー
PHP | perl/CGI | モバイル(携帯電話・ケータイ)Web
タグ
jigブラウザ | perl | PHP | User-Agent | Yahoo!モバイル | YST | モバイル | 環境変数

コメント(8)

 

「BANZAI」 - B'z

2007年10月12日 00:56 「BANZAI」 - B'z

ここのところ、B'zの『SUPER LOVE SONG』関連の検索でこのブログにやって来る人が増えてきたので、B'zの記事をちょっと増やす意味で、昔のブログから記事を引っ張ってきました。

なので、以下は3年以上前の感想です。
3年経った今では、結構僕の中で『BANZAI』の評価は高いです。お気に入りの曲の一つ。
イントロがいいよね。


会社からの帰りにいつもの駅構内の書店で「BANZAI」購入。

表題曲の「BANZAI」はCMなんかでサビらしき部分は何度か聴いていて、正直ほとんど期待していませんでした。
2nd Beatが良ければいいな、程度のつもりで。

で、実際「BANZAI」はかなり微妙。
Aメロ・Bメロは聴いてて結構心地良い感じもするんですが、サビがどうも好きになれない。
ライブなんかでは「バンザイ!」のとことかみんなで叫んだりしてかなり盛り上がりそうではありますけど。
あとカラオケとか。

一方、2nd Beatの「Magnolia」。
かなり良いっす。
どこか懐かしい感じのするシンプルなメロディラインとか、アナログ色の強いギターの音とか、 「儚いダイヤモンド」と似た感じの曲調ですかね。
なんでこっちを表題曲にしなかったのかな。ここ数年、ポップな曲調のシングル曲が多くて食傷気味なんですが。

関連するブログ記事
カテゴリー
B'z
タグ
B'z | BANZAI | Magnolia | 松本孝弘 | 稲葉浩志

コメント(5)

 

perlやPHPでファイルのダウンロード確認ダイアログを表示させる方法

perlやPHPを使って、ユーザーにWebブラウザから何らかのファイルをダウンロードしてもらうスクリプトというのは、作る機会も結構多いかと思います。

しかし、ダウンロードしてもらうファイルがjpegやpng、gif等の画像ファイルだったり、PDFやワード・エクセル等のファイルだったり、音声や動画ファイルだったり等、ブラウザでそのまま閲覧できるファイルだった場合、ローカルにダウンロードするダイアログが出ずに、そのままブラウザに表示されてしまうことがよくあります。

そういう場合、「『右クリック⇒対象をファイルに保存』でローカルに保存できます」なんて注意書きをつけて、そのCGIやPHPスクリプトにリンクを張ることも多いかもしれませんね。

この現象は、CGIやPHPからブラウザに送信するHTTPヘッダを少し変えることで、避けることが可能です。
(ただし、ブラウザによっては駄目かも……)

具体的には、以下のようなHTTPヘッダを送信します。

Content-Disposition: attachment; filename="sample.jpg"

sample.jpg」の部分には、ファイルのダウンロードダイアログにデフォルトで表示される、保存先ファイル名を指定します。

これを踏まえて、perlである特定のjpeg画像を、ダウンロード確認ダイアログを表示させてダウンロードさせる場合は、以下のようになります。

#-- ダウンロードさせる元ファイル
$source = '/home/tatsuya/data/img/00001.jpg';
#-- 保存時のファイル名(デフォルト)
$filename = 'uetoaya.jpg';

#-- HTTPヘッダ送信
print qq|Content-type: image/jpeg\n|;
print qq|Content-Disposition: attachment; filename="$filename"\n|;
print qq|\n|;
#-- ファイルを読み込んで出力
open(FILE,"$source");
while(<FILE>){print;}
close(FILE);

PHPの場合は、以下のような感じ。

// ダウンロードさせる元ファイル
$source = '/home/tatsuya/data/img/00002.jpg';
// 保存時のファイル名(デフォルト)
$filename = 'aibusaki.jpg';

// HTTPヘッダ送信
header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=\"{$filename}\"");
// ファイルを読み込んで出力
readfile($source);

何らかのWebアプリケーションのバックアップデータなんかをダウンロードする場合とかは、保存時のファイル名を「ダウンロード時の日付.txt」みたいな感じにするようにしとくと便利かもですね。

関連するブログ記事
カテゴリー
PHP | perl/CGI
タグ
CGI | Content-Disposition | Content-type | HTTPヘッダ | perl | PHP | ダウンロード

コメント(34)

 

PHPのmb_send_mail()関数で送信したメールが文字化けする際の対処法

PHPというのは非常に便利なスクリプト言語で、perlなんかと比べても非常にコーディングか楽チンです。

例えば、sendmailを利用してサーバーからメールを送信する、なんて処理も、perlだったら大体以下のような処理するコードを順番に書いてやる必要があります。

  1. メールヘッダを文字列として定義する
  2. メール本文を文字列して定義する
  3. メールヘッダとメール本文の文字コードをJISに変換する
  4. sendmailのパイプを開く
  5. sendmailに文字コード変換したメールヘッダとメール本文を渡す

でも、PHPならこれらの処理をmb_send_mailという関数ひとつでやっちゃえるわけです。
(勿論、perlでも何らかのライブラリなりモジュールを使えば関数一つでやっちゃえますが)

具体的には、以下のような感じですね。

// 件名
$subject = '主人じゃ…満足できなくて!!';
// 本文
$mailbody = 'おいしそうな人妻がイッパイで攻略の価値大';
// メール送信
mb_send_mail("test@abe-tatsuya.com",$subject,$mailbody);

test@abe-tatsuya.com」の部分が宛先メールアドレス。
$subject」の部分が件名。
$mailbody」の部分が本文。
ちなみに、件名と本文は、ちょうど今届いたSPAMメールをそのままコピーしました(笑)。

まあとにかく、こんな感じで非常にシンプルで簡単な関数があるわけなんですが、意外とこの関数を使ってメールを送信した際に、文字化けするケースが多いです。

原因は、PHPのスクリプトを書いている文字コードと、そのPHPスクリプトを動作させるサーバーのデフォルトの文字コード設定の相違にあることがほとんどだと思います。

解決方法としては、

  1. 件名や本文等の文字コードを事前に変換しておいてから、mb_send_mail関数を使う
  2. PHPスクリプト内のデフォルトの文字コード設定を変える

というあたりが手っ取り早いでしょうか。
サーバーの設定を変えることが可能で、変えても他のWebアプリケーションなどに影響がないのであれば、そちらを変えちゃう方が手っ取り早いかもしれませんが……。

とりあえず、1番目の「件名や本文等の文字コードを事前に変換しておいてから、mb_send_mail関数を使う」場合は、以下のような感じになります。

// 件名
$subject = '初めて浮気しました・・・';
// 本文
$mailbody = '話題の新サイト、こっそり教えちゃいます!!';

// 件名をJISに変換
$subject = mb_convert_encoding($subject,"JIS");
// 本文をJISに変換
$mailbody = mb_convert_encoding($mailbody,"JIS");

// メール送信
mb_send_mail("test@abe-tatsuya.com",$subject,$mailbody);

ちなみに、件名と本文は今届いたSPAMを(ry

そして二番目、「PHPスクリプト内のデフォルトの文字コード設定を変える」の方。
こっちの方が楽だし、スクリプトも短くて済みます。

// カレントの言語を日本語に設定する
mb_language("ja");
// 内部文字エンコードを設定する
mb_internal_encoding("UTF-8");

// 件名
$subject = '週末とか逢えませんか?';
// 本文
$mailbody = 'これ見て貰えれば1時間だけでも時間作ってもらえますか?';

// メール送信
mb_send_mail("test@abe-tatsuya.com",$subject,$mailbody);

ちなみに、件名と本文は(ry

「mb_internal_encoding("UTF-8");」の部分は、UTF-8で書いたPHPスクリプトの場合です。

eucで書いたPHPスクリプトなら、下記のようになります。

mb_internal_encoding("EUC-JP");

で、SHIFT_JISで書いたPHPスクリプトなら、下記のようになります。

mb_internal_encoding("SJIS");

mb_internal_encoding関数は、場合にもよりますが、mb_send_mail関数を使う直前に毎回入れるよりも、スクリプトの最初の方で事前に使って、あらかじめ設定しておいた方が、後々のメンテとかが楽になりますね。

関連するブログ記事
カテゴリー
PHP
タグ
mb_convert_encoding | mb_internal_encoding | mb_language | mb_send_mail | PHP | sendmail | 文字化け

コメント(15) | トラックバック(1)

 

「緑の森で眠ル鳥」 - 志方あきこ

相変わらず、志方あきこさん関連の検索でうちに来る方が多いようなので、今回は昔のブログから、志方あきこさんの自主制作CD『緑の森で眠ル鳥』の感想を発掘してきました。

以下は記事を書いた当時(二年以上前)の感想なので、あらかじめご了承下さい。


タイトル: 緑の森で眠ル鳥
アーティスト: 志方あきこ
2001.01.18 発売
ミニアルバム ディスク1枚

インディーズさんです。それ以上のことは良く知らないのですが、偶然VAGRANCYというサイトを見る機会があって、そこで試聴できる「ロマの娘」という曲があまりにもツボにはまってしまって、何度も聴いてるうちにどうしても試聴版ではなく一曲通して聴きたくなったのでCDを二枚買っちゃいました。
「緑の森で眠ル鳥」はそのうちの一枚です。ちなみに「ロマの娘」が入ってるのはもう片方のCDです。

全体的に、民族系というか幻想系というか、そんな感じの楽曲が中心です。非常に好み。
メロディも私のツボです。
この手のジャンルは多彩でちょっとマニアックな楽器の音色が沢山必要になるので、インディーズさんだと音は打ち込みがメインになってしまいますね。仕方がない部分ですがそこが少し残念。

本人の声の音域も凄まじいです。超音波。
コーラスとかも凝ってて、聴いてて凄いなぁと思わされます。

というわけで一曲ずつ簡単に感想を。

  1. 迷夢
    三拍子のリズミカルな幻想系の曲。
    エフェクトのかかったコーラスから一気に音が増えて始まるイントロがたまりません。
    メロディも非常にツボ。パーカッションのリズムも心地良いです。
    随所に入るフルートのメロも良いなぁ。
  2. 宵森人
    神秘的なアレンジのミドルテンポな曲。
    コーラスが綺麗ですなぁ。
    こういう曲に求めるのも無茶かもですが、メロディにもうちょっと盛り上がりが欲しかったかも。
    とは言え、雰囲気抜群の綺麗な曲です。
  3. Notte
    五拍子のこれまたパーカッションがリズミカルな曲。
    唯一打ち込みではないギターが非常に良い味出してます。やっぱ打ち込みメインでもギターだけは生に限りますね。
    シリアス系のメロディとコーラスが上手く合っていて聴いていて心地良いです。
  4. サクリファイス
    メロディアスなこれまた幻想系な曲。
    前半のボーカル・コーラス・パーカッションのみの構成が非常に魅力的です。
    中盤から他の音も入ってきますが最小限に抑えられて、志方氏の声を前面に押し出した感じ。
    他の曲は高音の細いボーカルが中心ですが、この曲は低くて太い迫力のある声も巧みに使いこなされていて良いですね。
    あと、後半のティンパニの効果的な使い方が迫力あって大好きです。

四曲全て幻想的な雰囲気が非常に強いので、そういうのが好きな人にはほんとにお勧めです。

関連するブログ記事
カテゴリー
志方あきこ
タグ
Notte | サクリファイス | 宵森人 | 志方あきこ | 緑の森で眠ル鳥 | 迷夢

コメント(5)

 

White Horse Theatre(ホワイトホースシアター)の英語劇『夏の夜の夢』(シェイクスピア原作)を見てきました

家族の仕事の関係で、今日は京都市国際交流会館まで、White Horse Theatre(ホワイトホースシアター)という劇団の英語劇を見に行ってきました。

このWhite Horse Theatre(ホワイトホースシアター)という劇団は、ドイツを本部としてヨーロッパを中心に、英語教育を支援する目的で活動している英語劇の劇団だそうです。
その中の1チーム(なんとたった四人の役者さんのみ)が日本に来て、今年の8月から今月末まで、国内の色んな地域の学校や、今回のようなホールで英語劇を上演して廻っているとのこと。

今回僕が見たのは、シェイクスピア原作の『夏の夜の夢(A MIDSUMMER NIGHT'S DREAM)』です。

僕自身、生の英語に触れる機会がここ数年ほとんどなかった上に、今回の『夏の夜の夢』は、公演向きに1時間半程に収まるように編集されているものの、シェイクスピアが書いたとおりの英語(つまり16~17世紀頃の古い英語)で役者さんたちが台詞を喋るということで、どれだけ理解できるのかかなり不安だったんですが、意外とちゃんと(?)理解して、楽しく見ることができました。

このWhite Horse Theatre(ホワイトホースシアター)の『夏の夜の夢』の何が凄いって、全部で13人(だったはず)出てくる登場人物を、前述の通りたった四人の役者さんだけで演じていること。

うまく脚本の演出が、常に四人以下しか舞台に登場しないように、かつ同じ役者さんが演じる別の登場人物が同時に登場しないように編集されていて、うまいなぁ、と心から感心しました。

役者さんの台詞が当然英語なので、同じ役者さんが演じる別の役の区別を、見てる僕達ができないんじゃないかな? というような心配があったんですが、うまく役ごとに微妙に衣装が変わっていて、そんな心配は全くの無用でした。

そして、一つの劇で、一人ひとりの役者さんがそれぞれ3~4種類の役を見事に演じ分けているからこそ、ダイレクトに伝わってくる、プロの役者さんの凄さ。
ほんとに別人に見えるから驚きです。

特に、Hermia(ハーミア)、Puck(パック)等の役をされていた、Eleriさんの演じ分けは本当に見事でした。

久しぶりに、生の英語に触れる機会と、プロの役者さんの見事な演技を生で見る機会を、同時に得ることが出来て非常に良い経験になりました。

今後の日本でのWhite Horse Theatre(ホワイトホースシアター)の一般向け上演予定は、公式サイトの予定演目のページに掲載されているので、興味のある方は見に行ってみてはいかがでしょうか。
今回はあと六回しか日本では上演しないみたいですし、次はいつまた日本に来るかもわからないので、ほんとに見に行ってみることをお勧めします。

……と、今回の京都の公演が、せっかく内容がとても良かったのに、観客の入りがかなり悲しいことになっていたので、余計なお世話と思いつつ、ちょっと宣伝を手伝ってみました(^^;
次に日本にいらっしゃる際に、ネットでの告知をするなら是非一度弊社にご相談下さい(笑)。

関連するブログ記事
カテゴリー
英語・英会話
タグ
White Horse Theatre | シェイクスピア | 京都市国際交流会館 | 夏の夜の夢 | 演劇 | 英語 | 英語劇

コメント(13)

 

『うみねこのなく頃に』の主題歌を歌っている志方あきこさんの「歌曲が収録されている」CDリスト

このブログのアクセスログを見ていると、『うみねこのなく頃に』の主題歌を歌っている歌手が誰なのかを調べるために検索して、うちにアクセスされる方が結構多いみたいですね。
なので、せっかくなのでちょっとご紹介。

『うみねこ』の主題歌を歌っているのは、志方あきこさんという方です。

僕が志方さんの曲をはじめて知った時は、所謂インディーズとして自主制作のCDを上記サイトで販売されていましたが(今でも上記サイトで手に入るはずです)、二年ほど前にメジャーデビューされました。

結構オムニバス系のCDやサントラなんかに曲を提供されることが多いので、ここで志方あきこさんの「歌曲が収録されている」(作曲もされているのでインストCDも多いから)CDを一覧にしてみました。

一般流通に乗っているもの

メジャーデビュー後の、一般流通に乗っている(普通のお店で買える)CDは、以下です。

Navigatoria
1st.メジャーアルバム。
お勧めの曲は『Navigatoria』『花帰葬』『HOLLOW』『Makeda ~Queen of Sheba~』
星詠~ホシヨミ~Ar tonelico hymmnos concert Side 蒼
PS2の『アルトネリコ』というゲームのサントラ。
ゲームはやったことないのにサントラだけ買ったですよ。志方さんの他に、石橋優子さんという方の歌も入ってます。
お勧めの曲は『謳う丘-Harminics EOLIA-』『EXEC_CHRONICLE_KEY/.』『EXEC_PAJA_M/.#Misya extracting』『EXEC_HARMONIUS/.』
RAKA
2nd.メジャーアルバム
これは超名盤。
お勧めの曲は『金環蝕』『まほろば』『蒼碧の森』『うたかたの花』『晴れすぎた空の下で』『AVE MARIA』『謳う丘 ~EXEC_HARVESTASYA/.~』
『謳う丘』は前述の『星詠~ホシヨミ~』に収録されているのとは別アレンジ。どっちも甲乙つけがたい名曲です。

あと、もうすぐ発売される『澪~ミオ~Ar tonelico2 hymmnos concert Side.蒼』(PS2のゲーム『アルトネリコ2』のサントラ)にも志方さんの歌曲が収録されるみたいです。

一般流通に乗っていないもの

メジャーデビュー前の自主制作CD等の一般流通には乗っていないCDは以下です。
通販サイト歌鳴屋で購入できます。
後は同人ショップとかでも買えるみたいです。

緑の森で眠ル鳥
多分、現在手に入る、最古の歌曲入りCDなんじゃないでしょうか。
お勧めの曲は『迷夢』『Notte』『サクリファイス』
廃墟と楽園
超名盤。これだけは絶対買っとけ! 神曲『ロマの娘』なくして志方あきこは語れない!
お勧めの曲は『Come raggio di sol』『ロマの娘』『ラヂヲ予報』『廃墟と楽園』『何処へ』『Contrasto』『古』
はじめて『ロマの娘』を聴いた時、電撃が走りました。僕が志方あきこファンになった瞬間です。
花帰葬 SOUND TRACKS
同人ゲーム『花帰葬』のサントラ。
お勧めの曲は『花帰葬』『邂逅』『箱庭の外で』『Agnus Dei』
前述の1st.メジャーアルバムに収録されている『花帰葬』とはアレンジが違うバージョンが入っています。個人的にはこっちの『花帰葬 SOUND TRACKS』に収録されている方のバージョンの方が断然お勧め。

そして今年の冬には『Istoria』というアルバムが発売されるみたいです。
上記サイトを見てみると、作曲陣がなんか凄い……。伊藤賢治さんとかいるし……。


多分、これで全部だと思います。
如何せん、サントラとかが結構多いので、完全に把握できてないかもしれません。
抜けがあったらご指摘いただけると嬉しいです。

関連するブログ記事
カテゴリー
志方あきこ
タグ
Istoria | Navigatoria | RAKA | うみねこのなく頃に | 廃墟と楽園 | 志方あきこ | 星詠~ホシヨミ~Ar tonelico hymmnos concert Side 蒼 | 澪~ミオ~Ar tonelico2 hymmnos concert Side.蒼 | 緑の森で眠ル鳥 | 花帰葬 SOUND TRACKS

コメント(3)

 

CSSで角丸やドロップシャドウなレイアウトを実現する『The Octopus Engine』

ようやくのことで当ブログのデザインも、オリジナルのテンプレートに変更しました。
MT4のテンプレート構成を本格的にじっくり解析しながらのカスタマイズだったので、なかなか楽しかったです。

さて、今回はこのブログでも利用している、スタイルシート(CSS)で角丸やドロップシャドウなレイアウトを実現するためのソリューション『The Octopus Engine』について、解説しようと思います。

と言っても、旧ブログで書いていた記事の転載なんですが。


Webサイトのレイアウトをデザインする上で、特定のブロックの角を丸くしたり、ちょっと変わった枠にしようとすると、背景画像を作って、テーブルレイアウト(tableタグをレイアウトに用いる)をする必要があります。

xhtml+cssがデザインの主流となっている昨今、正直テーブルレイアウトはダサい。

ということで、どうにかしてCSS(スタイルシート)で角丸レイアウトができないか、という人にお勧めなのが、The Octopus Engine(オクトパス・エンジン)です。

The Octopus Engine(オクトパス・エンジン)は、四方の角と上下左右の画像を用意し、CSS(スタイルシート)とJavaScriptによって、角丸等のデザイン性に富んだブロックレイアウトを実現するソリューションです。

JavaScriptは使いたくなければ使わなくてもOKですが、そうするとひとつのブロックを8つのdiv要素(タグ)で囲まなければならないという、あまり美しくないxhtmlソースになってしまいます。
現在のうちのサイトのように、The Octopus Engine(オクトパス・エンジン)を多用する場合はJavaScriptを使用したほうが良いでしょう。

使い方はいたって簡単です。

1. スクリプトのダウンロード

Dragon Labs | The Octopus Engineにて、The Octopus Engine(オクトパス・エンジン)のスクリプト「octopus.zip」をダウンロードします。

「octopus.zip」を解凍すると、JavaScriptのソースコード「octopus.js」と、各種レイアウトの画像ファイルが格納されたフォルダ「anemone」「seahorse」「shark」「squid」「swordfish」、そして各画像のPhotoshop(フォトショップ)プロジェクトファイルが格納されたフォルダ「psd」が展開されます。

2. ファイルのアップロード

「octopus.js」と画像をアップロードします。

とりあえず、画像は「anemone」「seahorse」「shark」の中からどれを選ぶと良いでしょう。
「anemone」は、さらに4つのバリエーションから選択できます。

3. JavaScript「octopus.js」の呼び出し

The Octopus Engine(オクトパス・エンジン)を利用したいページで、「octopus.js」を呼び出します。
具体的には、該当ページのhead要素(タグ)内に、下記を追加します。

<script src="/octopus.js" type="text/javascript"></script>

「octopus.js」へのパスは、環境に合わせて変えてください。

4. CSS(スタイルシート)の追加

CSS(スタイルシート)に以下を追加します。

.north { background: url(north.png) repeat-x top; }
.east { background: url(east.png) repeat-y right; }
.south { background: url(south.png) repeat-x bottom; }
.west { background: url(west.png) repeat-y left; }
.ne { background: url(ne.png) no-repeat top right; }
.se { background: url(se.png) no-repeat bottom right; }
.sw { background: urlsw.png) no-repeat bottom left; }
.nw { background: url(nw.png) no-repeat top left; }

各種画像ファイルのパスは、環境に合わせて変えてください。

5. The Octopus Engine(オクトパス・エンジン)を使うブロックに適用する

The Octopus Engine(オクトパス・エンジン)を使いたいブロックを、下記のdiv要素で囲みます。

<div class="octopus">~</div>

以上で完了です。

なお、使用する画像によっては下記の例のように、クラス「.nw」に何ピクセルかpaddingを入れないと綺麗に表示されません。

.nw { padding: 25px; }

また、「squid」及び「swordfish」は、利用方法が異なります。
どちらも共に3種類の画像と、CSS(スタイルシート)のborder(ボーダー・枠線)を併用するタイプのソリューションです。

こちらの利用方法はまた別の機会に。


ここまでが、旧ブログに書いた記事です。
ここからは追記。

この『The Octopus Engine』の最大の魅力は、「本来なら8つものdiv要素を入れ子にいないと実現できないことを、(JavaScriptをうまく利用して)たったひとつのdiv要素で実現している」ことにあります。

が、このJavaScriptがちょっと問題でして、ページ全体の読み込みが終わってからでないと、スクリプトが実行されない(=角丸等にならない)ので、ちょっとサイズの大きなページだと、読み込みが終わるまでの間、微妙にレイアウトが変になるんですよね。

なので結局僕は、JavaScriptを使って、

<div class="octopus">~</div>

とやらずに、直接8つのdiv要素で囲むという、あんまり(かなり?)スマートじゃない方法を取っています。

<div class="north"><div class="east"><div class="south"><div class="west">
<div class="ne"><div class="se"><div class="sw"><div class="nw">
ここにコンテンツが入る
</div></div></div></div>
</div></div></div></div>

こういうことです。

我ながら、正直微妙……。

関連するブログ記事
カテゴリー
スタイルシート(CSS)
タグ
CSS | JavaScript | The Octopus Engine | Webデザイン | xhtml

コメント(11) | トラックバック(1)

 

『SUPER LOVE SONG』(B'z)の感想。既に再生数が凄いことに……。

つい先日、10月3日に発売されたB'zのニューシングル『SUPER LOVE SONG』。
早速聴きまくっています。

仕事中ずっと、今回のシングルに収録されている3曲だけを延々とリピートして聴いていたので、気がつくとiTunesの再生数がたった三日でそれぞれ140回を超えていてびびった(笑)。

せっかくなので各曲の簡単な感想を。

1. SUPER LOVE SONG
かっこいいギターのイントロから始まるノリノリの曲。
ライブではめちゃくちゃ盛り上がりそうですね。
最近の曲だと『衝動』とか『愛のバクダン』に近い感じでしょうか。
曲のタイトルのぶっ飛び具合が『ultra soul』ちっくで、らしくて良いです。
どの辺が「SUPER」で普通の「LOVE SONG」と違うのかというと、男女間の恋愛を歌った歌詞のように見えて、実は個人対個人レベルだけじゃなく、団体間だったり、国家や民族間にでも通じる「愛」を歌った歌詞っぽいですね。納得。
2. ここから
こちらはうって変わって、ミドルテンポのバラード。
しっとりとしたイントロのピアノが良いですね。
ただ、サビのメロディがあんまりピンとこないかなぁ……。特にサビラストの「ここぉーかぁーらぁー」のところのメロディが、なんかしっくり来ないというか、適当にメロディにオチをつけただけ感があって微妙……。
歌詞は凄く良いんですけどね。
3. FRICTION
なんというかっこいいイントロ。これは間違いなく名曲。
ちょっと古臭いロックっぽいメロディが最高です。『Magnolia』とか『儚いダイヤモンド』とかが好きな僕にはたまらない曲です。かっこよすぎ。
スパイ映画とかに似合いそうです。
シングルで全英語詞は『Real Thing Shakes』以来かな。

前回のシングル『永遠の翼』が、ちょっと微妙だったので不安でしたが、好みな曲が二つも入っていて良い感じのシングルでした。

12月にはニューアルバム『ACTION』も出るし、非常に楽しみです。

……あ、そういやわざわざDVD特典つきの限定版のシングルを買ったのに、まだ一回もDVD見てないや……。

関連するブログ記事
カテゴリー
B'z
タグ
B'z | FRICTION | SUPER LOVE SONG | ここから | 松本孝弘 | 稲葉浩志

コメント(8)

 

リクエストのリダイレクト

2007年10月 4日 01:44 リクエストのリダイレクト

今回も旧ブログからの転載です。


サイトの構成を変更したり、サーバーを移転してURIが変更になった時などに、.htaccessを使って簡単に移転後のページへリダイレクトさせることができます。

例えば、

Redirect permanent /olddir/oldpage.html http://www.amethyst-web.org/newdir/newpage.html

と記述した.htaccessを私がこのサーバー上に置いておくと、http://www.amethyst-web.org/olddir/oldpage.htmlへのアクセスは自動的にhttp://www.amethyst-web.org/newdir/newpage.htmlへとリダイレクトされます。
※上記の例でいう/olddir/oldpage.htmlの部分はURIフルパスで記述しなければなりません。

また、リダイレクト元・リダイレクト先を共にディレクトリに指定した場合、そのディレクトリ以下のファイル全てにリダイレクトが有効となります。
例えば、

Redirect permanent /olddir/ http://www.amethyst-web.org/newdir/

と設定しておけば、http://www.amethyst-web.org/olddir/page1.htmlへのアクセスはhttp://www.amethyst-web.org/newdir/page1.htmlにリダイレクトされ、http://www.amethyst-web.org/olddir/page2.htmlへのアクセスはhttp://www.amethyst-web.org/newdir/page2.htmlにリダイレクトされます。

リダイレクト先のURIは同一ドメインである必要はないので、サーバー移転などでURIが変更になった時に便利です。
例えば、http://www.rentalserver.jp/~acount/からhttp://www.originaldomain.jp/に移転した場合、移転前のサーバーに

Redirect permanent /~acount/ http://www.originaldomain.jp/

という.htaccessを一つ作って置いておけば、http://www.rentalserver.jp/~acount/以下の全てのファイルへのアクセスをhttp://www.originaldomain.jp/以下の同一ファイルにリダイレクトできます。

関連するブログ記事
カテゴリー
.htaccess
タグ
.htaccess | リダイレクト

コメント(4)

 

DirectoryIndex の設定

2007年10月 3日 21:08 DirectoryIndex の設定

久しぶりに昔のブログからネタを引っ張ってきました。


大半のWebサーバーでは、URIの末尾にファイル名を指定せずに、ディレクトリ名までを入力してアクセスした際には index.html や index.htm 等を表示するよう設定されています。
この設定は、 .htaccess を使うことによって簡単に変更することができます。

例えば、

DirectoryIndex index.php

と書いた .htaccess を、 sample/ というディレクトリに置いた場合、
http://www.servername.com/sample/
は、http://www.servername.com/sample/index.php へのアクセスとなります。

別に index.*** でなくても、

DirectoryIndex toppage.html

とすれば、 http://www.servername.com/sample/toppage.html へのアクセスとなります。

また、複数のファイルを指定することも可能で、

DirectoryIndex index.php index.cgi index.shtml index.html index.htm

と設定した場合、index.php がない場合は index.cgi 、それもなければ index.shtml 、またもやなければ index.html 、これまたなければ index.htm へのアクセス、という風にサーバーが指定したファイルを左から順に探してくれます。
.htaccess は、設置したディレクトリ以下の全てのディレクトリに有効ですので、トップディレクトリにこういう具合に複数指定して置いておくと、その下の各ディレクトリに必要に応じて php なりcgi なり html なりを置くことができるので便利です。

また、そうして設定した各ファイルが全てない場合の挙動もサーバーの設定に依存します。
ディレクトリ内のファイルの一覧を自動的にリストアップするよう設定されているか、 403 Forbidden を返すよう設定されているかのどちらかが一般的です。

自動でリストアップする機能は、使い方によっては非常に便利(上記の例のようにわざわざページを用意しなくてもリストアップしてくれる)なのですが、意図せずディレクトリの中身を見られてしまって個人情報流出、という冗談みたいなとんでもないことをやらかすお間抜けな企業が後を断ちません(※そもそもブラウザでアクセスできる場所に個人情報が置いてあること自体が大問題です)。
基本的に 403 Forbidden を返すように設定する方が一般的な気がします。

さて、この設定も .htaccess にて変更可能です。

Options +Indexes

とすると、ディレクトリ内のファイルを一覧表示します。
逆に、

Options -Indexes

とすると、403 Forbidden を返します。

というわけで、基本的には403を返すようにしておき、リスティングが必要なディレクトリのみを +Indexes とするのが一番安全かと思います。

関連するブログ記事
カテゴリー
.htaccess
タグ
.htaccess | DirectoryIndex | 個人情報流出

コメント(3)

 

『利己的な遺伝子(旧題『生物=生存機械論』)』(リチャード・ドーキンス)の感想

最近、何故か急に地球上の生物の進化というものに凄く興味を持ち始めました。

きっかけは多分、ニコニコ動画でその手の科学物のTV番組の動画を何本か見たことからかな、と思います。

今ではフィクションの世界でもノンフィクションの世界でも「生物は遺伝子によって仕組まれた通りに行動している」というような感じの考え方は一般的になっていると思うんですが、その辺りの詳しい理屈というか仕組みというか、そういうものをちょっと勉強してみようかな、なんてことを考えまして、色々とググってみました。

するとどうも、この『利己的な遺伝子』という本が、とりあえず基本を勉強するのに丁度良いらしい、ということがわかりました。
著者のリチャード・ドーキンス氏は、進化論関連の著作では非常に有名な人らしい。

そんなわけで、図書館で借りてきて、数週間かけて読了しました。
正直、一読したくらいでは、本作の濃い内容を全然消化し切れていないんですが......。

とりあえず、著者のリチャード・ドーキンス氏は非常にくどい文体の人みたいで、なかなか文章の意味を理解するのが難しかったんですが(もしかしたら訳の問題も多少はあるのかな?)、それでも専門家じゃない人にわかるように、出来る限り易しく解説してくれているな、というのが第一印象でした。

「遺伝子」とか「進化論」とかの複雑な仕組みを、ストレートに表現すれば専門用語の山になるんでしょうが、とにかく回りくどく、色んな比喩を交えて、そういった専門用語を使わずに説明してくれたおかげで、楽しみながら読むことが出来ました。

読んでいて個人的に興味深かったのは、以下の三点。

血縁淘汰の考え方

何故、肉親は本能的に他の肉親を守る傾向にあるのか。これを単純な算数でわかりやすく説明されてました。
親と子や兄弟との間には、共通の遺伝子が50%含まれていて(これよりも近いのは基本的には100%同一の遺伝子を持つ双子だけ)、他の同族よりも、親子や兄弟に対して利他的な行動を取ることが、遺伝子にとってメリットがある。
さらに、親子や兄弟間の力や寿命などの相互の関係にあわせて、最も適した形で、利他的な行動と利己的な行動を取る割合を持つ遺伝子が、結果的に生き残っている、という理屈。
なるほどと思わされました。

アリやハチなどの社会性昆虫について

上記の血縁淘汰とも関連しますが、社会性昆虫は本当に興味深い生き物なんですね。
改めて実感。

所謂「女王」のみが生殖・出産するこれらの昆虫では、その他のワーカー(働きアリ・働きバチ)は全てメスで、女王が生んだ卵(=ワーカー達の妹にあたる)の世話をするためだけに生きている。
これは「女王」がメスを生む際の受精の仕組みが他の生物とは異なっているためで、(面倒なので色々な計算を省くと)ワーカー達の姉妹間の遺伝子の血縁度は通常の生物の兄弟姉妹の場合(50%)とは違い、75%になるためらしい。

つまり、ワーカーたちは、遺伝子の観点では50%しか近くない自分の子供を生んで育てるより、女王が生んだ75%近い遺伝子を持つ姉妹を育てたほうが得だ、という結論になるとのこと。

何ていうか、所謂「生命の神秘」みたいなものも、簡単な算数によって、神秘じゃなく理屈で説明できてしまえるところが凄いなぁ、と。
もちろん、こういう「遺伝子」という仕組みが存在すること自体が「神秘」なんですが。

新たな自己複製子「ミーム」

「ミーム」という言葉は、本書を読む前から何度も聞いたことがありました。
Web業界では、一時期ブログ界やmixiなんかで流行った「○○バトン」とか、チェーンメールとか、その辺の「どんどん増殖していく情報」を指して「ミーム」と呼ぶことがありますね。

この「ミーム」という言葉は、本書が初出だったんですね。恥ずかしながら、知りませんでした。(なんかの遺伝子関連の本が初出だとか聞いたなー、程度の認識でした......)

地球に生命が誕生して以来、何千万年、何億年、何十億年という長い時間をかけて、遺伝子(ジーン)は進化してきたわけですが、地球に人間が誕生して以来、ほんのわずかの間に、人間はそれまでの生物の進化のスピードとは比較にならない、とてつもない速さで「進化(進歩?)」していったわけですよね。
その原動力が、人間の脳が生み出した「言葉」によって現れることになった「ミーム」だった、というような感じでしょうか。

今後も人間の生み出した「文化」は凄まじいスピードで進化していくわけで、インターネットというインフラが現れたことが、さらにそれに拍車をかけるんでしょうね。

僕ら人間の場合、「ジーン(遺伝子)」を残すためだけではなく「ミーム」を残すために、一生を費やすことができるわけです。
もしも一生子供を生めない人でも、素晴らしい文学を遺すとか、音楽を遺すとか、研究成果を遺すとか、あるいは生き様そのものが後世の人々にとって偉大な遺物になったりだとか、そういった形で何かを遺すことができる。
こんなことが可能な人間というのはとんでもなく凄い生き物であって、その「人間」という種族に生まれて来れたことが、本当に素晴らしいことなんだなぁ、なんてことを思いました。

関連するブログ記事
カテゴリー
一般向け科学書
タグ
ミーム | リチャード・ドーキンス | 利己的な遺伝子 | 生物=生存機械論 | 社会性昆虫 | 血縁淘汰 | 進化論 | 遺伝子

コメント(12)

 

このブログについて

阿部辰也

Webコンサルタントやシステムエンジニア、執筆業などをやっている、グッドホープ代表・阿部辰也のブログです。
Web技術系のTipsから仕事の話、趣味の話まで色々と。
人生は所詮生まれてから死ぬまでの壮大な暇つぶし。
だったら有意義に暇をつぶして生きましょー。

阿部辰也へのお仕事のご依頼・問合せはこちらからどうぞ。

Twitter: @t_abe
読書メーター: ID:Tatsuya

このブログのサイトマップ
このブログのはてなブックマーク数

Feed/RSS購読

タグクラウド

最近のトラックバック

阿部辰也の著書

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

頑張って書いたのに、出版後すぐに出版社が倒産して印税も貰えずじまいで俺涙目(笑)。

Powered by Movable Type 5.02

スポンサード リンク

はてなブックマーク



あわせて読みたい

t-abeの今読んでる本

t-abeの最近読んだ本

t-abeの今やってるゲーム

t-abeの最近やったゲーム