
#!/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 を初期化でき...
-
Perlの実行パスを自動で変更す...
-
perlでdialogのフォルダ指定
-
#!/usr/bin/perlで書きだしたCG...
-
「Perl Command Line InterPret...
-
mt(MovableType.jp)インストー...
-
例外処理のフローチャートの記...
-
Sub Workbook_Open()でユーザー...
-
laravel 本番環境でメールが送...
-
エクセルVBAでシートモジュール...
-
VBAで旧字体を異字体に一括で変...
-
教えて下さい。
-
Application.OnKey:項目入力中...
-
vba userFormのSubを標準モジュ...
-
モジュールの最大数はいくつな...
-
vba 標準モジュールインポート...
-
Perlのライセンス
-
ベースモジュールって?
-
【Windows10 コマンドプロンプ...
-
大量の標準モジュールを解放す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「デバイスは PRN を初期化でき...
-
mt(MovableType.jp)インストー...
-
「Perl Command Line InterPret...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlの実行パスを自動で変更す...
-
ActivePerlでWindows上のパスを...
-
perlのパスの調べ方について
-
bad interpreter:エラーについて
-
perl初心者です。
-
perlの1行目が#!/usr/bin/perl...
-
perlにパスを通す
-
例外処理のフローチャートの記...
-
エクセルVBAでシートモジュール...
-
Excel VBAで、ユーザーフォーム...
-
Excel VBAで、ユーザーフォー...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 定義されたプロージ...
-
Excel VBAでリンク切れをチェッ...
-
VBでグローバル変数を宣言するには
おすすめ情報