ぶら:
い、いよいよきたか角画像!!
小梅:
ここは、一番外側の背景色を白黒以外にしている人のためのプチ改造。
背景色と同じ色の角画像を用意できる人はいいけど、そうでないなら、あとは角画像を表示しないようにするしかないよね。ところで、前に角画像の設定した部分、おぼえてる?
ぶら:
■L321のことかしら?
$ltimg = 'lt.gif';
$rtimg = 'rt.gif';
$lbimg = 'lb.gif';
$rbimg = 'rb.gif';
小梅:
画像を出さないようにするということは、HTMLの場合だと<img src="lt.gif">のタグを消すってことだよね。
実はCGIも同じなんだ。
ぶら:
ねえねえ、lt.gifとか、角画像本体を削除しちゃえば、表示されから、それだけでOKなんじゃない?
そのほうが、スクリプト変えるより簡単だよ!
小梅:
IEならそれでいけるみたいだけど、ネットスケープだとしっかり出るよ。
MACだとどう出るかは判らないけど…

ね、しっかり四角い枠が四隅にあるでしょ。
正しくやっても環境によって見え方が違ってしまうのは仕方ないけど、自分の環境だとOKだからといって手抜きをすると後で困ることになるよ。
ぶら:
わ、わかった…じゃあ正しくやるよ。とか<img src="rt.gif">とかを「検索」して、それを消せばいいんだよね?
小梅:
ところが、そうはいかないんだ。なぜならlt.gifという文字はこのスクリプトの中では$ltimgに変身しているのだよん。
ぶら:
$ltimg = 'lt.gif';
これって変身魔法だったのぉ?
小梅:
そんなようなもん。
なので、$ltimgと$rtimgと$lbimgと$rbimgって言葉を検索するといいの。
ぶら:
じゃ、まず$ltimgを検索検索…めーっけ!■L889だあ!
print "<td valign=\"top\"><img src=\"$img$ltimg\" width=\"$ris\" height=\"$ris\"></td>\n";
小梅:
じゃあ、それのアタマに#くっつけて。
#print "<td valign=\"top\"><img src=\"$img$ltimg\" width=\"$ris\" height=\"$ris\"></td>\n";
こんな感じ。
ぶら:
あれ?#ってCGIの動作に関係ないコメント文…
小梅:
そう。コメント文に変身させて、CGIの動作と関係なくさせるってことは、CGIの動作の上では消すのと同じことなの。
ぶら:
ホントに削除しちゃいけないの?
小梅:
いけなくはないよ。でも、あとになってこの角画像使いたくなったらどうする?
オリジナルから探してきてコピーする?
面倒だよね?コピーし間違えたら大変だし。
すぐに元通りに直せるように、改造する時には元の文はできるだけとっておいたほうがいいの。
ぶら:
なるほどねえ…これが慎重にやるってことなのか…$ltimgを最後まで検索してみたけど、ほかにはないよ。
小梅:
じゃあ、次の$rtimgも、同じように検索してみて。
ぶら:
めっけ!■L901。なんだ、すぐ近くにあったんだ。
print "<td valign=\"top\"><div align=\"right\"><img src=\"$img$rtimg\" width=\"$ris\" height=\"$ris\"></div></td>\n";
これも
#print "<td valign=\"top\"><div align=\"right\"><img src=\"$img$rtimg\" width=\"$ris\" height=\"$ris\"></div></td>\n";
こう?
小梅:
よっしゃー。次は$lbimgだ。
ぶら:
これもめっけ。■L921。
print "<td valign=\"bottom\"><img src=\"$img$lbimg\" width=\"$ris\" height=\"$ris\"></td>\n";
これも
#print "<td valign=\"bottom\"><img src=\"$img$lbimg\" width=\"$ris\" height=\"$ris\"></td>\n";
こうだね。で、$rbimgは…■L932。
print "<td valign=\"bottom\"><div align=\"right\"><img src=\"$img$rbimg\" width=\"$ris\" height=\"$ris\"></div></td>\n";
これは
#print "<td valign=\"bottom\"><div align=\"right\"><img src=\"$img$rbimg\" width=\"$ris\" height=\"$ris\"></div></td>\n";
っと。
小梅:
今回は1行まるまる消しても大丈夫な記述だったから簡単だったね。
だからってなんでも#でコメントにしちゃえばOKってわけじゃないよ。
さて、変身する必要がなくなったわけだから、さっきの■L321とその下L327も下みたいに#つけてコメントにしちゃうのが正しいんだろうけど、しなくてもエラーは起きない。
#$ltimg = 'lt.gif';
#$rtimg = 'rt.gif';
#$lbimg = 'lb.gif';
#$rbimg = 'rb.gif';
#$ris = '8';
ぶら:
ねえ、スクリプトの中にHTMLのタグみたいなのがあるね。
小梅:
うん、CGIだって表示するときはHTMLを使うから、中に組み込まれてるよ。
CGIは計算したり、分岐させたりする部分と、HTMLを使って表示したりする部分があるから。
スクリプトの中に、たくさんHTMLのタグがあるから、さがしてみて。
ちょっとだけガード
- 小梅:
-
さて、次はセキュリティというのもばかばかしーような内容です。
- ぶら:
-
がーどとかせきゅりてーとか、なんのはなし?
- 小梅:
-
ちょっとね、自分のPETROOMにアクセスしてみて。
ブラウザのバーに表示されるURLをクリックして、直接ここで入力を行います。
たとえばhttp://www.XXX.XXX/~XXX/cgi-bin/pet.cgiだったら、このpet.cgiをなくして
http://www.XXX.XXX/~XXX/cgi-bin/
って感じで、フォルダに直接にアクセスしてみて。
- ぶら:
-
まっしろなページが出ました。
- 小梅:
-
これは、さっき置いたindex.htmlのおかげなの。
これを置かないと、cgi-binに置いてあるファイルの一覧表が出るプロバイダもあるの。
ブラウザってフォルダにアクセスすると、まずそこにあるindex.htmlを読もうとするんだ。
それがないと、エラーを出すか、一覧表を出すかするのね。
petd.cgi、user.cgiは、直接アクセスしても中身が見られる心配は一応ないんだけど、たとえばimgフォルダの中の画像。
せっかくお楽しみ画像なんて置いても、imgフォルダの一覧が見られちゃったら、つまんないよね。
なので、imgフォルダにもindex.htmlを置きましょう。
- ぶら:
-
もうひとつ、index.htmlをつくるの?
- 小梅:
-
あ、必要ないよ。cgi-binに置いたのと同じものを、そのままimgフォルダにFTPすればいいだけ。
- ぶら:
-
これ、全部のフォルダに置くの?
- 小梅:
-
中にどんなファイルがあるか見られたくないフォルダだけでいいよ。
ここでいうならcgi-binとimgだね。