CGI-BBS > 情報収集 > フォームメール > 送信するとCGIの中身が表示される。


カレッヂ
カレッヂ


質問者 ザク  投稿日 2008/6/4(水) 18:07:02
初期的な質問です。
サイトの/form/に設置したいと思い、その中にcgi-binフォルダを設置し、
その中に下記のファイル1、form2mail.cgi 2、 jcode.pl3、cgi-lib217.pl
4、base64.pl <644>とtmpフォルダを作りました。
解凍ファイルの中にsample1.htmlがあったので、
<form action="form2mail.cgi" method="POST" ENCTYPE="multipart/form-data">
のactionをcgi-bin/form2mail.cgiにして、
cgiの中の
#------ 初期設定 ---------------------------------------------------------------------------

#■日本語コード変換ライブラリ    # require './***.pl'; と require '***.pl';は意味が違いますので、注意。
require './jcode.pl';

#■CGIライブラリ
require "./cgi-lib217.pl";

#■MIME変換ライブラリ
require "./base64.pl";

#■sendmailの設定
$sendmail =/usr/lib/sendmailopen(MAIL,"| $sendmail -t ");

#■作業用ディレクトリの設定
# 同じディレクトリにtmpという名前のディレクトリを作成し、パーミッションを777(サーバの最適な値にあわせること)にします。
$tmp = "./tmp/";

#■受け取るメールアドレス
$mailto = 'メールアドレス';

#■フォーム画面に付けるタイトル
$title = 'フォーム送信';

#■参照チェック
#送信フォームのURLがここに設定した文字列を含まない場合は送信しない
$ref_url = 'form/';

#■このスクリプトを設置する日本語コード (sjis,euc)
$convert = 'sjis';

#■アクセス元をチェックする(いたずらで困っている場合のみ) 0:しない 1:する
$ref_check = 0;
としたのですが、
送信ボタンを押すとCGIの内容が表示されるだけです。
初めて、CGIなるものを設置したいと考えているのですが、どのようにすれば宜しいのでしょうか?

【習熟度】初めて

回答者 アン  [削除]  投稿日 2008/6/12(木) 07:17:21
>サイトの/form/に設置したいと思い、その中にcgi-binフォルダを設置し、
>その中に下記のファイル1、form2mail.cgi 2、 jcode.pl3、cgi-lib217.pl
>4、base64.pl <644>とtmpフォルダを作りました。

1.cgiはサーバのセキュリティを脅かす存在ですが、そのサーバはcgiを置いても
良い設定になってますか?
2.もし、なってたらcgiは勝手にcgi-binディレクトリ(普通はフォルダはWindows
です)を作っても良いんですか?
3.もし、cgi-binが設置可能として、サーバがAllowOverride allの設定になって
いて(こうすると各ディレクトリで設定をOverrideできる)尚かつcgi-binディレク
トリに.htaccessファイルがあり、その中にOptions +ExecCGIの記述がありますか?
4.その上でform2mail.cgiは705(又は755、サーバによる)他のファイルは604
(又は644)、ディレクトリが707(又は777)のパーミッションになってますか?

この4つが合ってれば、cgiは動きます
でも、多分普通のサーバの管理者は1を許可しないでcgiを管理者側で設置すると
思います cgiがそこら中置けたらカオス状態かも(^^

返信(回答)する

 


このページ:http://www.rescue.ne.jp/CGI-BBS/an/formmail/20080604180702.shtml Web裏技