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

CGIでソースがそのまま表示されてしまうのですが、どうしてなのでしょうか?

先週からCGIやPerlを学び始めました。そこで簡単なものを試しに作ってみたのですが、入力したソースがそのまま表記されてしまいます。

ちなみに、こんなものです。

#! c:/perl64/bin/perl

print "Content-type: text/plain\n\n";
print "Hello Perl !";

どこをどう変えればいいのか、わからないので、質問してみました。

わかる方がいましたら、教えてください。

初心者なので、お手柔らかにお願いします。

.





この質問に補足する.

A 回答 (5件)

CGIスクリプトのソースがそのまま出力されるのは、そのファイル/URIがCGIとして実行できていないためです。



httpd.confの<Directory>ディレクティブや<Location>ディレクティブなどの指定箇所が間違えているか、
ファイルの拡張子を間違えているか、
httpd.confを書き換えてからApacheをリスタートしていないか。。。


Forbiddenが出てきたら.cgiファイルに実行権限が無い。
Internal Server Errorが出てきたら、Perlがインストールされていないか.cgi拡張子とPerlが関連づけられていない。

ということが考えられます。

この回答への補足

talooさん

出来ました!!

apacheをリスタートさせたら出来ました。

何度も丁寧にアドバイスを下さいまして、ありがとうございました。

とても感謝しています。

補足日時:2012/09/05 08:35
    • good
    • 2
この回答へのお礼

遅くなってしまいましたが、本当にありがとうございました。

わかりやすく教えていただいたので、とても助かりました。

お礼日時:2012/09/05 18:58

 よくあるミスの一つなので、ネットに情報があります。



CGIのソースが表示される
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …

CGIを有効にする
http://www.be-webdesigner.com/technotes/server/h …

参考URL:http://www.be-webdesigner.com/technotes/server/h …

この回答への補足

LEVELUP100さん

ありがとうございます。

参考にさせていただきます。

補足日時:2012/09/05 08:33
    • good
    • 1

>No.2お礼


>という具合に設定を変えました。

すると、どうなりましたか?

この回答への補足

そうすると、ソースがそのまま表示されてしまうんですよね。質問に書いたソースが、そのまま・・・。

これでもうわからなくなってしまったわけです。

補足日時:2012/09/04 18:56
    • good
    • 1

そのファイルをCGIで実行するように、ウェブサーバーが設定されていますか?

この回答への補足

talooさん

ウェブサーバーはapache2を設定しています。

そして、

Options Indexes FollowSymLinks Includes ExecCGI

AllowOverride All

AddHandler cgi-script .cgi

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

という具合に設定を変えました。

補足日時:2012/09/04 08:53
    • good
    • 2

こんにちは。



まず、確認ですがperl自体のインストールはきちんと出来ていますか?

この回答への補足

LancerVIIさん

こんにちは。

perlはインストールされています。

補足日時:2012/09/04 08:38
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています