
#!/usr/local/bin/perl
$perl = `perl -wc web.cgi`;
$perl=~s/[\r\n]/<BR>/g;
print <<"END";
Content-type: text/html
<HTML>
<HEAD><TITLE>PERLCHECK</TITLE></HEAD>
<BODY>
perl<BR>$perl
</BOBY>
</HTML>
END
exit;
と以上のように書いてますが。telnet上ではOKと出ますがブラウザでみるとエラーが出ます。
やりたいことは、Telnetを使っての構文チャックではなく、ブラウザ上で構文のチェックは出来ないか模索しています。上記の`UNIXコマンド`の部分で、freeやdf等のコマンドを実行させると実行結果が得られるので、その延長で出来ないかと考えてます。初心者なのですいませんが教えてください。
No.2ベストアンサー
- 回答日時:
えとですね(笑)
これは、原因は「$perl = `perl -wc web.cgi`;」の部分です。
この web.cgi の部分は telnet 上では「HP管理者」が実行しますが、Web上では「HP閲覧者」が実行することになります。
つまり、「HP閲覧者が、HTTPサーバーを経由せずにCGIを使う」という、(セキュリティ的に)通常はやってはいけないことをやってしまうことになるんです。
ブラウザからの閲覧は、基本的にすべてゲストログイン扱いになるので、ブラウザ経由でそういうことするのは難しいかと思います。
かくいう俺も、昔HTTP経由でHPの更新とかできるCGIを作ったことがありましたが、制約が多すぎてやめてしまいました(^_^;
No.3
- 回答日時:
deagleさんが触れられているように、
実効ユーザの違いじゃないですか?
$perl = `df`;
なら正しい結果が得られるんですよね。
それじゃ、$perlの中に書いたものが悪いと
思われますよね。
1.perlのパスが通ってない
`perl ...`を`/usr/local/bin/perl ...`に
してみる
2.web.cgiってどこにあるの?
この書き方だと、telnetでログインした
ときのホームディレクトリにあるんですか?
web.cgiをフルパスで指定したらどうですか?
3.パーミッションの問題
web.cgiをこのCGIの実効ユーザが読めない。
どういったユーザ名でCGIが実行されてるか、
設定内容を知りませんが、guestならguestが
見にいけないような場所にweb.cgiを置いてませんか?
あるいは、web.cgi自体のパーミッションがきついとか。
HTTPサーバのエラーログを見たらどうなってるんですか?
何か原因が書いてありません?
No.1
- 回答日時:
Content-type: text/html
を
Content-type: text/html;
とか?
どんなエラーが出るのか、詳しくエラーを書けば、
もう少し分かるかも?
この回答への補足
telnet上では、syntax OKと出ます。
ブラウザ上では
http://testsite.helpkeeper.net/users/tajima/inde …
と出ます。
ブラウザで、構文チェックとcgiのプログラムでは不可能なことですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「デバイスは PRN を初期化でき...
-
bad interpreter:エラーについて
-
【Excel2016】結合されたセルを...
-
モジュールとクラスの違いって...
-
クリアーとデリート
-
例外処理のフローチャートの記...
-
Perlのモジュールについて
-
Win32でInputBoxを実装するには?
-
Excel VBAでリンク切れをチェッ...
-
acwzlibとは?
-
VBAでoutlook365が起動しません。
-
グラフのX,Y座標を取得したい
-
cygwinでcshが認識されず困って...
-
fetchrow_arrayとfetchrow_hash...
-
Perl モジュールのアンインスト...
-
Excel VBA 標準モジュール内で...
-
ランダムな単語を得るAPIってあ...
-
Excel VBAで、ユーザーフォーム...
-
GOSUB命令とは
-
教えて下さい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「デバイスは PRN を初期化でき...
-
#!/usr/bin/perlで書きだしたCG...
-
「Perl Command Line InterPret...
-
Perlの実行パスを自動で変更す...
-
bad interpreter:エラーについて
-
perlでdialogのフォルダ指定
-
Perl/Tkで、Entryが上手く扱え...
-
perlの1行目が#!/usr/bin/perl...
-
activeperlでDBD-Pgを扱うと、p...
-
mt(MovableType.jp)インストー...
-
【超初心者】異なるディレクト...
-
ActivePerlでWindows上のパスを...
-
CGIの使い方について教えて...
-
ApacheがPerlを作動してくれな...
-
perl初心者です。
-
DBD-ODBCのインストールができ...
-
CGI がローカルで動作しない。
-
Perlを端末で使う
-
windows環境でのperlのパス
-
#!/usr/local/bin/perl
おすすめ情報