OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

構文チェックについて

  • 暇なときにでも
  • 質問No.125592
  • 閲覧数57
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 0% (0/3)

#!/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等のコマンドを実行させると実行結果が得られるので、その延長で出来ないかと考えてます。初心者なのですいませんが教えてください。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2

 えとですね(笑)

 これは、原因は「$perl = `perl -wc web.cgi`;」の部分です。
 この web.cgi の部分は telnet 上では「HP管理者」が実行しますが、Web上では「HP閲覧者」が実行することになります。
 つまり、「HP閲覧者が、HTTPサーバーを経由せずにCGIを使う」という、(セキュリティ的に)通常はやってはいけないことをやってしまうことになるんです。

 ブラウザからの閲覧は、基本的にすべてゲストログイン扱いになるので、ブラウザ経由でそういうことするのは難しいかと思います。
 かくいう俺も、昔HTTP経由でHPの更新とかできるCGIを作ったことがありましたが、制約が多すぎてやめてしまいました(^_^;
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル8

ベストアンサー率 12% (7/55)

Content-type: text/html を Content-type: text/html; とか?  どんなエラーが出るのか、詳しくエラーを書けば、 もう少し分かるかも? ...続きを読む
Content-type: text/html

Content-type: text/html;
とか?

 どんなエラーが出るのか、詳しくエラーを書けば、
もう少し分かるかも?
補足コメント
kasahatahanako

お礼率 0% (0/3)

telnet上では、syntax OKと出ます。
ブラウザ上では
http://testsite.helpkeeper.net/users/tajima/index/web/perl.cgi
と出ます。
ブラウザで、構文チェックとcgiのプログラムでは不可能なことですか?
投稿日時 - 2001-08-28 15:31:56


  • 回答No.3
レベル9

ベストアンサー率 71% (59/82)

deagleさんが触れられているように、 実効ユーザの違いじゃないですか? $perl = `df`; なら正しい結果が得られるんですよね。 それじゃ、$perlの中に書いたものが悪いと 思われますよね。 1.perlのパスが通ってない   `perl ...`を`/usr/local/bin/perl ...`に   してみる 2.web.cgiってどこにあるの? ...続きを読む
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サーバのエラーログを見たらどうなってるんですか?
何か原因が書いてありません?
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ