#!/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.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.2ベストアンサー
- 回答日時:
えとですね(笑)
これは、原因は「$perl = `perl -wc web.cgi`;」の部分です。
この web.cgi の部分は telnet 上では「HP管理者」が実行しますが、Web上では「HP閲覧者」が実行することになります。
つまり、「HP閲覧者が、HTTPサーバーを経由せずにCGIを使う」という、(セキュリティ的に)通常はやってはいけないことをやってしまうことになるんです。
ブラウザからの閲覧は、基本的にすべてゲストログイン扱いになるので、ブラウザ経由でそういうことするのは難しいかと思います。
かくいう俺も、昔HTTP経由でHPの更新とかできるCGIを作ったことがありましたが、制約が多すぎてやめてしまいました(^_^;
No.1
- 回答日時:
Content-type: text/html
を
Content-type: text/html;
とか?
どんなエラーが出るのか、詳しくエラーを書けば、
もう少し分かるかも?
この回答への補足
telnet上では、syntax OKと出ます。
ブラウザ上では
http://testsite.helpkeeper.net/users/tajima/inde …
と出ます。
ブラウザで、構文チェックとcgiのプログラムでは不可能なことですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DBD-ODBCのインストールができ...
-
「Perl Command Line InterPret...
-
「デバイスは PRN を初期化でき...
-
「jcode.pl」というファイルは...
-
ArduinoのジャイロモジュールMP...
-
Excel VBAでリンク切れをチェッ...
-
例外処理のフローチャートの記...
-
エクセルVBAでシートモジュール...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
Perlソースコードをコンパイル...
-
モジュールとは何ですか
-
Form間の値の渡し方
-
XML::Parser::Expat が無い?
-
標準モジュールを削除したい。(...
-
偶数/奇数の判定
-
perlをバージョンアップしたら...
-
MS-Access と接続する方法を教...
-
VBSがコンパイルエラーになりま...
-
AIX6でファイルのタイムスタン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「デバイスは PRN を初期化でき...
-
#!/usr/bin/perlで書きだしたCG...
-
perlの1行目が#!/usr/bin/perl...
-
Perlの実行パスを自動で変更す...
-
Image::Magickで画像に文字を埋...
-
「Perl Command Line InterPret...
-
use strictが効かない (PERL)
-
ActivePerlでWindows上のパスを...
-
さくらスタンダード perl make ...
-
perl構文チェックOKなのにC...
-
mt(MovableType.jp)インストー...
-
#!/usr/local/bin/perlで命令が...
-
「jcode.pl」というファイルは...
-
IIS+Activeperl データファイル...
-
perl環境を整えたいのですが、...
-
perlでdialogのフォルダ指定
-
#!/usr/bin/perl --でも不安定です
-
activeperlでDBD-Pgを扱うと、p...
-
mac perl 5.10 インストール
-
例外処理のフローチャートの記...
おすすめ情報