プロが教える店舗&オフィスのセキュリティ対策術

まずトップページはhtmlで作ります。
そのトップページにいつも変化する所があるのでcgiで処理を施したものをhtmlに貼り付けたいと思っています。
その場合に例えば画像を出力させる場合は

<IMG src="cgi-local/top.cgi">

で指定し、

#!/usr/local/bin/perl
print "Content-type: image/jpeg\n\n";
open FH,"<../image.jpg";
binmode FH;
binmode STDOUT;
print while(<FH>);
close FH;

をやれば動かせますが、これを画像ではなくhtmlを表示させるためには
print "Content-type: image/jpeg\n\n";

print "Content-type: text/html\n\n";
に変更する事により可能だと思いやってみたのですが、うまく出力できませんでした。
cgi処理をうまくhtmlに貼り付ける方法があるのでしょうか。どうか教えて頂けないでしょうか?お願します。(涙)

A 回答 (5件)

<IFRAME src="*******.cgi" frameborder="0" scrolling="NO" width="" height="" ></IFRAME>



↑表示させたい場所に挿入すれば、
HTMLを出力するCGIでしたらこの中に表示されます。

ブラウザによっては見えない???かも..。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速試した所すぐにできました。
MSNのサイトなどはトップページで最新情報の処理をするのに同じような処理をおこなっているのでしょうか
http://www.msn.co.jp/home.htm

又違う方法も考えられるのでしょうか
ika3さんの方式だと表示の仕方がなかなか難しく感じられるのですが何か工夫が必要なのでしょうか

いろいろとご面倒かけて申し訳ないです。
お時間などがありましたらどうか教えて下さい(ごめんなさい)

お礼日時:2001/10/31 21:05

では、お使いのサーバが「CGIは決められたディレクトリでないと実行できない」


という設定になっているのだと思います、残念ながら。

あとは「SSIを使う」という手もありますが、こちらの方が禁止されている
可能性が高いです。ちなみにSSIとは、

<html>
<body>
<!--#exec cmd="date"-->
<body>
<html>

と書いたときに、unixのコマンドであるdateが実行されて、
その標準出力がその行に埋め込まれる機能です。

参照URLのサイトでは、index.cgiを使っていて
http://atashi.net/ でも http://atashi.net/index.cgi
のどちらでも見ることができます。

参考URL:http://atashi.net/
    • good
    • 0

えー、トップページ自体をCGIにしてしまう方法があります。



#!/usr/local/bin/perl

$str = '初恋のきた道はとっても泣ける';

print 'Content-type: text/html\n\n';
print <<"_EOT_";
<html>
<body>

$str

</body>
</html>
_EOT_

このようなCGIを index.cgi として、
実行ビットを立てて見てみてください。

たとえば http://www.hoge.org/index.cgi でも、
http://www.hoge.org/ のアドレスでもアクセスできます。

ただ、サーバの設定によってはできないこともあります。
    • good
    • 0
この回答へのお礼

このようなCGIを index.cgi として、
実行ビットを立てて見てみてください。

解答して頂本当にありがとうございます。
上記の内容ですが、index.cgiをcgi-localの中に入れる事によって出来るものなのでしょうか?実際に始めの所にindex.cgiをアップさせましたが表示する事は出来ませんでした。又cgi-localの所では試していないのでやってみたいと思います。

お礼日時:2001/11/01 08:20

> MSNのサイトなどはトップページで最新情報の処理をするのに同じような処理をおこなっているのでしょうか



MSNのトップページのバナー広告の部分に使われていますね。
<IFRAME>はバナー広告を表示する時に良く使われているように思います。


> 表示の仕方がなかなか難しく感じられるのですが何か工夫が必要なのでしょうか

ブラウザでフォントサイズを変更されますとバランスが崩れてしましますが、
スタイルシートでフォントサイズをしてやれば大丈夫だと思います。

問題は、フレームに対応していないブラウザでは全く効き目がないということですが、これについては特に対応しておりません。

いい加減な回答で申し訳ありません。
    • good
    • 0
この回答へのお礼

いろいろと教えて頂きありがとうございます。

>MSNのトップページのバナー広告の部分に使われていますね。

という事ですが一面のニュースの所はそうすると手作りで毎日更新しているのでしょうか。
又、いろいろ調べたのですが、cgiを使う個所としてカテゴリ別に別けた項目の後ろがわしに登録件数が表示されているサイトを見かけますが、そのURLを拝見するとco.jpの表記が見られないようです。これも何かcgiを使うためのテクニックとしてあるのではないかと踏んでいるのですが、どうなんでしょうか?

お忙しい所申し訳ないです。

お礼日時:2001/11/01 08:26

ほかによいやり方があるのかもしれませんが、私は以下のように対応しました。



html読み込んであるキーワードを置き換えるように出力する CGIを作って対応しました(邪道?)。

print "Content-type: text/html\n";
print "\n";

open (IN, $basehtml);
while(<IN>) {
 if ($_ =~ /<!--EXCHANGE-->/) {
  置き換えたいソース
 } elsif {
  print $_;
 }
}
close (IN);
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!