• 締切済み

HTMLをかきかえたり

掲示板やカウンタなど、CGIってログファイルをかきかえて、それを読みなおして表示してますよね? そこを、直接CGIがHTMLをかきかえたりすることはできないでしょうか? カウンタのようなことをしつつ、ファイルの最終書きかえ日(?)をブラウザから変更できるようなことをしてみたいのですが…。 無理でしょうか?というかこういうのはできたとしても危険でしょうか?

  • -ria-
  • お礼率74% (1196/1595)
  • CGI
  • 回答数2
  • ありがとう数2

みんなの回答

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.2

> 無理でしょうか?というかこういうのはできたとしても危険でしょうか? できます。 CGIは、サーバー上で動くプログラムなので、なんでもできます。(ただし、入力と出力の形式だけ決まっている) なんでもできるので、もちろん、下手なプログラムを作ると危険です。(自分自身を消してしまうCGIも書けてしまいます。意味ないけど) やりたいことは、 現在 ・掲示板CGI ・掲示板CGIが使っているログファイル がある。これを、 ・掲示板CGI ・掲示板CGIが使っているログファイル ・過去ログのインデックスページ ・過去ログのHTML として、掲示板CGIが実行されるたび自動的に、 ・ログのたまり具合をチェック ・ある程度たまったら過去ログとして保存し、インデックスページを更新する、 というシステムにしたい、ということですか?

-ria-
質問者

お礼

回答ありがとうございます そうですね、そんな感じです。…本当にわからない質問で説明で申し訳ないです; 過去ログを延々保存する必要は無いんですが、 掲示板への書き込みと同時にHTMLのほうにも最新の記事数件を書き換えるというか。(呼び出しではなくファイル自体更新して) メリットはほとんどなさそうですが、できるものならやってみたいなあと。

回答No.1

ファイルの最終更新日を自動で取得するスクリプトです。 任意の書式で表示できるようですよ。

参考URL:
http://bsp-net.com/soft/LastUpdate.shtml
-ria-
質問者

お礼

紹介ありがとうございます! ですが、実はそういうことではなく、掲示板のログをHTMLで保存したいとかそういう意味でした; わかりにくくてすみません;;

関連するQ&A

  • CGIのログをHTMLで表示

    CGIのログ(カウント)をHTMLにSSIで表示させようと思い下記のCGIを考えたのですがうまく表示されません。 皆様のお力をお貸し下さい! [log.dat] L内容 DataSu='***'; (***にはカウント数字が入っています) 上のカウントログをHTML表示させる為にCGIを作る [count.cgi] #!/usr/local/bin/perl #カウントログ読み込み open(IN,"ログまでの相対パス"); # カウンターを読み出す $count = <IN>; #ファイルを閉じる close(IN); #サイト数の表示。 print "Content-type: text/html\n\n"; print "$count"; 上記のCGIを表示させるとDataSu='***';とファイル内容が全て表示されてしまいます。 ***のカウント数だけ表示させるにはどうしたらいいのでしょうか?

    • 締切済み
    • CGI
  • 最終更新日自動取得のようなCGIは難しいでしょうか

    お世話になります。 掲示板のログを、CGIにアクセスしただけで表示させたいと思っています。 掲示板CGIの中に下記の記述を加えているため、掲示板の中で表示させたい箇所に$allnumberと記述する事で、投稿記事の総数を表示できるようになっています。 -------------------- #総投記事数を表示 open(FH, "$room/log.cgi") or die; my $line = <FH>; my( $allnumber ) = $line =~ /^(?d*)/; close(FH); -------------------- マルチ掲示板CGIを使用しているので、$roomには各掲示板のIDが入力されます。 各掲示板の投稿数を表示する、単独のCGIスクリプトは難しいでしょうか。 最終更新日を自動的に取得して、表示するCGIのイメージです。 これらのCGI(仮に「lastup.cgi」とします)は、http://hogehoge.jp/lastup.cgi?./bbs/log.cgiと最終更新日を取得したいファイルを指定して、htmlファイルの表示させたい箇所に記述すると、指定したファイルの最終更新日が表示できるようになっているCGIがあります。 (※「./bbs/log.cgi」は、lastup.cgiから見た対象ファイルまでのパスです) (※「log.cgi」は、掲示板のログが保存されているファイルとします) このように、「http://hogehoge.com/~.cgi?./(掲示板ID)/log.cgi」と記述するだけで、htmlの好きな箇所に指定した掲示板の記事数を表示させるようなCGIはできないでしょうか。 私はこれまでにCGIをいくつか設置した経験や、改造した経験はありますが、いつもネットで検索して分かる範囲で簡単な改造しかできません。 お手数ではありますが、できる限り詳しく教えて頂けると嬉しく思います。 お力添えを頂けると助かります。 何卒、よろしく御願い致します。

  • HTMLにCGIカウンターを

    初歩的なCGI(Perl)のアクセスカウンターの作り方を学びました。 今まではHTMLでHPを作成していました。そこでトップページにアクセスカウンターを付けたいのですが、当然のことながら今のトップページは「index.html」ファイルです。このファイルにCGIによるアクセスカウンターをつける場合、「index.html」のファイルを一から「index.cgi」ファイルにPerlで書き換えなければならないのでしょうか。今の「index.html」の一部分を書き換えるだけでCGIのアクセスカウンターが設置できないものでしょうか。

    • ベストアンサー
    • CGI
  • HTMLにカウンタを埋め込むようにテキストを埋め込む

    まずCGIで処理して時間を取得します。 それを普通のHTMLに埋め込みたいと思っています。 CGIプログラムの中にHTMLを入れるのではなく、HTMLにカウンタを埋め込む要領でテキストも表示する事は可能なのでしょうか? どうか教えて下さい。お願いします。

    • ベストアンサー
    • CGI
  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 AddHandler cgi-script .cgi .plに変更。 exec cmdをHTMLファイルに埋め込みました。 <!--#exec cmd="/PROGRA~1/APACHE~1/Apache2.2/cgi-bin/counter.pl counter"--> インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ   AddType text/html .shtml と   AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。エラーログには ”指定されたファイルが見つかりません。 : don't know how to spawn cmd child process: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/counter.shtml” と記録されていました。 どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくおねがいします。

    • 締切済み
    • CGI
  • cgi(perl)を実行のみしたい

    HTMLよりCGI(PERL)を起動し、ログファイルの読み書きを実行し、そのまま終了させることは出来ないでしょうか? CGIからデータを戻す必要は無く、ブラウザへの表示はHTMLファイルがそのまま表示される形で問題ありません。 宜しくお願いします。

  • Apacheのログからアクセス履歴をWeb表示するのにCGIは必要?

    Apacheのログ(/usr/local/apache/logs/access_log)を利用して アクセスカウンタのようなものを作りたいと考えています。 月毎の使用数を調べ、それを棒グラフ(PNGフォーマット)で表示させる、といったものです。 これをつくるにあたりCGIは必要なのでしょうか。 もし必要であれば、どのように使うのでしょうか。 ちなみに、開発環境は FreeBSD ver3.4, Apache ver1.3, perl ver5.005_03で、 ブラウザ(Netscape Navigator 4.7)で 本に掲載されていたCGIプログラムを動かしてみたところ 実行できませんでした。 #HTML文書が表示されるだけで #そのHTML文書が意図する表示はされなかった。 ○このApacheはCGIが使えているのか ○アクセスカウンタにCGIは必要かどうか を教えていただけたらと思います。 よろしくお願いします。

  • HTMLの編集はかなり難しい?

    前にした質問「レンタル掲示板(ライブドアしたらばやFC2)にFC2のカウンターを設置することはできますか?」の話ですが、 自分で調べてみたら、HTMLの編集でそれができると分かりました。 僕がやった操作は、 レンタル掲示板のページで「名前をつけて保存」→ ファイルの種類をウェブページ、完全もしくはHTMLのみにする。 HTMLで保存→保存したページを右クリック→編集→メモ帳が表示→ そこでFC2カウンターのマニュアルどおりに、 「HTMLソースの<body> タグと </body> タグの間の 任意の位置に貼り付けて完了」してみたんですけど、 上書き保存して再度開いたら文字化けしてしまいました。 (ちなみにカウンターはうまく表示されてました。) というかHTMLで保存したときからすでに文字化けしてたんですが、 このやり方って間違っているのかなと・・・ メモ帳で編集してるから、 改行しない方がいいのか空白はやめたほうがいいのか分からない。 どうなんでしょう?

  • アクセス・ログ用CGIをHTMLから自動起動する方法は?

    ホームページ・アクセスログ用のCGI(実際はjavaサーブレット)を作ったのですが、トップページをアクセスした時に、このCGIを自動的に呼び出すようにトップページのHTMLを修正したいのですが、どうしたら呼び出せるのかがわかり ません。 ・ホームページとCGIのサーバーは別です。 ・このCGI自体はブラウザ側に特に返す内容はありません。必要であれば返しても良いですが。 ・HTMLだけでは無理であれば、javascriptを使っても良いです。 普通はどうしてるのでしょうかね?

  • 外部ファイルを別のHTMLファイルに表示したいと思います

    WEBページのHTMLファイルに外部のファイルから文字を読み込むことが出来たと思います。 Javascriptを使うのではなく、掲示板のようなCGIを利用したいと思うのです。 ホームページの作成にあまり詳しくない人が、HTMLファイルを書き換えてアップロードするのは難しいので、掲示板のように簡単に書き込めるCGIを設置して、そこに書込をすれば特定のページに文字や文章が貼り付けられる、という風に利用したいのです。 うろ覚えなのですが、 ・拡張子をHTMLからSHTMLにするということ ・表示したい部分のソースに<!--#exec cgi="○○.cgi"-->と加えるということ 等が条件だったと思います。 ○○.cgiの部分にあたるスクリプトがどこで公開されていたか、どんな物だったか記憶にないのですが、 ご存じの方があれば教えてください。

専門家に質問してみよう