HOME  □ MANUAL  □ 新着記事  □ 新規トピック追加  □ トピック一覧  □ 記事全文表示  □ SEARCH  □ 過去ログ
トピック5件分を全文表示
    [10538] javascriptのランダムイメージを背景画像としてTABLE内で使う方法

    記事引用返信

      ・投稿者/ 竹田 -(2005/02/20(Sun) 01:20:32)
      ・U R L/


        皆さん、はじめまして

        CJ-Clubさんのjavascriptに載っている
        「時間によって変わるイメージ」
        「ランダムイメージ」
        を使ってホームページを作ろうとしたのですが、
        ちょっと問題があって困っています。

        表の<TABLE>を使って枠の中に
        ランダムに画像を表示させたり、
        時間によって違う画像を表示させることは出来たのですが
        画像を背景画像として<TABLE>の枠内に表示させることが出来ません。

        色々調べて「document.body.background」など試してみたのですが
        どうしても<TABLE>の枠内にはめることが出来ませんでした。(涙

        やりたい事は、<TABLE>の枠内に書いたメッセージの背景画像をランダム、又は時間ごとに変化させて
        その背景画像は、訪問者の方がアップロードして変えていけるようにしたいのです。

        もしよければ、何かヒントをいただけると有難いです。
        よろしくお願いします


      [10561] Re[1]: javascriptのランダムイメージを背景画像としてTABLE内で使う方法

      記事引用返信

        ・投稿者/ りゅういち -(2005/03/09(Wed) 10:26:49)
        ・U R L/ http://www.cj-c.com/http

          ■No10538に返信(竹田さんの記事)
          > 画像を背景画像として<TABLE>の枠内に表示させることが出来ません。
          > > やりたい事は、<TABLE>の枠内に書いたメッセージの背景画像をランダム、又は時間ごとに変化させて

          document.write("<IMG SRC=\""+img[i]+"\">");
          の部分がタグですから、<table>タグにして背景部分に img[i] を指定すればOK。
          例)
          document.write("<table background=\""+img[i]+"\">");
          ただこの場合、JavaScriptをOFFにしているユーザは
          テーブルが表示されないことになりかねないので
          <noscript><table></noscript> とかした方がいいかも。

          > その背景画像は、訪問者の方がアップロードして変えていけるようにしたいのです。

          これはアップロードにCGI+外部JavaScriptか、
          アップロードも表示もCGIという方法を用いないとできないと思います。



    [10525] 逆アクセスランキングで順位の上位のものだけ文字を大きくしたりしたい

    記事引用返信

      ・投稿者/ C -(2005/02/15(Tue) 19:24:01)
      ・U R L/


        はじめまして。
        逆アクセスランキングで順位の上位のものだけ文字を大きくしたりしたいのですが
        どういう風にしたらいいでしょうか。

        jsで表示をしています。

        1位の文字サイズが5
        2位が4、3位が3・・・

        みたいな感じに設定したいのですが。

        宜しくお願いします。


      [10558] Re[1]: 逆アクセスランキングで順位の上位のものだけ文字を大きくしたりしたい

      記事引用返信

        ・投稿者/ りゅういち -(2005/03/09(Wed) 10:13:23)
        ・U R L/ http://www.cj-c.com/http

          ■No10525に返信(Cさんの記事)
          > 逆アクセスランキングで順位の上位のものだけ文字を大きくしたりしたいのですが
          > どういう風にしたらいいでしょうか。
          > > jsで表示をしています。
          > > 1位の文字サイズが5
          > 2位が4、3位が3・・・
          > > みたいな感じに設定したいのですが。

          初期状態298行目
          $Rankh.="<td><a href=\"$url\" target=\"$TGET\" title=\"$title\">$title_url</a></td>";
          がランキングのリンク部ですからここを分ければいいと思います。

          $rank1 に順位が入っていますので

          $Rankh.=qq[<td><a href="url" taegrt="$TGT" title="$title"];
          if($rank==1){$Rankh.=qq[class="rank1"];}
          elsif($rank==2){$Rankh.=qq[class="rank2"];}
          elsif($rank==3){$Rankh.=qq[class="rank3"];}
          else{$Rankh.=qq[class="rank_etc"];}
          $Rankh.=qq[>$titile_url</a></td>];

          みたいにやって a.rank1{font-size:11pt;} とかスタイルシートで決定。
          直接 <font> にしてもいいです。



    [10534] ログの移行

    記事引用返信

      ・投稿者/ N -(2005/02/18(Fri) 22:27:50)
      ・U R L/


        初めまして。
        今、使っている掲示板(こちらで配布されているものではありません)からChild Treeへ変更しようと思っています。
        そこで今までのログをそのまま移行したいのですが、ログファイルの互換性がないため、上手く表示されません。
        やっぱり互換性がないとダメなんでしょうか?
        ひとつひとつ投稿し、ログファイルを編集して日付を変更するという方法がありますが、ログの量が多いので
        できるだけ簡単に移行したいんです。
        何かいい方法はないかな?と思い、質問させていただきました。
        よろしくお願いします。m(__)m


      [10543] Re: ログの移行

      記事引用返信

        ・投稿者/ vic -(2005/02/21(Mon) 20:04:31)
        ・U R L/

          > ログファイルの互換性がないため、上手く表示されません。
          > やっぱり互換性がないとダメなんでしょうか?

          当たり前です。

          > できるだけ簡単に移行したいんです。
          > 何かいい方法はないかな?

          一般的には出来なければ移行はあきらめ、
          可能ならログ変換スクリプトを作って対応すると思いますが。
          ログの形式が把握出来ないと書けませんからこの件については無理かな。


      [10544] Re[2]: Re: ログの移行

      記事引用返信

        ・投稿者/ N -(2005/02/21(Mon) 22:28:36)
        ・U R L/

          返信、ありがとうございます。

          >>ログファイルの互換性がないため、上手く表示されません。
          >>やっぱり互換性がないとダメなんでしょうか?
          > 当たり前です。
          当然ですよね。なんか変な質問してしまってゴメンナサイ・・・。m(__)m

          > ログの形式が把握出来ないと書けませんからこの件については無理かな。
          http://specters.net/cgipon/
          ↑こちらで配布されている「スレッド天国」を使用しています。
          このログを移行したいのですが・・・。


      [10550] Re: ログの移行

      記事引用返信

        ・投稿者/ vic -(2005/02/24(Thu) 22:31:26)
        ・U R L/

          ソースが公開されているのであればソースと、
          実際のログファイルのデータを見てみれば糸口は掴めるでしょう。
          それとも、変換スクリプトを書けということが言いたいのでしょうか?


      [10551] Re[4]: Re: ログの移行

      記事引用返信

        ・投稿者/ N -(2005/02/25(Fri) 21:20:11)
        ・U R L/

          配布先のHPとスクリプト名がわかれば、ログの形式もわかると思ったのですが・・・。

          > それとも、変換スクリプトを書けということが言いたいのでしょうか?
          そういうスクリプトがあるんですか?
          検索してみたんですが、見つからなかったんです。
          もし知っているのならぜひ教えて欲しいです。お願いします。


      [10553] Re[5]: Re: ログの移行

      記事引用返信

        ・投稿者/ vic -(2005/02/27(Sun) 09:27:25)
        ・U R L/

          > >>それとも、変換スクリプトを書けということが言いたいのでしょうか?
          > そういうスクリプトがあるんですか?
          > 検索してみたんですが、見つからなかったんです。

          そんなことは一言も言ってませんが。最初から言ってることは、
          移行元と移行先の両方のソースがあるならログの形式も両方ともわかるわけで、
          つまり変換するためのスクリプトのを作るための情報は得られるわけ。
          あとは書くだけでしょ。


      [10555] Re[6]: Re: ログの移行

      済! / 記事引用返信

        ・投稿者/ N -(2005/02/28(Mon) 22:58:17)
        ・U R L/

          スクリプトを作れるような知識は私にはありません。
          ”作ってください”なんてそんな図々しいお願いもできないだろうし、移行は諦めます。

          vicさん、いろいろとありがとうございました。m(__)m


          解決とはちょっと違いますが、このスレッドは終了ということで、解決済みBOXに
          チェックいれておきます。



    [10381] VOTE COMの連続投稿防止改造について

    記事引用返信

      ・投稿者/ 南 -(2005/01/12(Wed) 20:45:12)
      ・U R L/


        古い記事への返信で申し訳ないのですが
        No10237,10223,10122
        の関連記事にあるように

        votec.cgi412行目 $addr = $ENV{'REMOTE_ADDR'};

        の下に、

        open(IPI,"ip.log");
        while (<IPI>){
        if($_ eq $addr){&er_("二重投票は禁止");}#IPがすでにある場合終わり
        }
        close(IPI);
        if((-M "ip.log") < 1){#更新されてから1日以内ならIP追加
        open(IPO,">>ip.log");
        print IPO $addr;
        close(IPO);
        }else{#更新されて1日以上ならログをフォーマットして追加
        open(IPO,">ip.log");
        print IPO $addr;
        close(IPO);
        }

        と書き込みスクリプトを改造しました。
        試しに複数のアドレスで投票してみると、
        IP1個目は無事規制されip.logにアドレスは追加されるものの、
        2個目以降、IPアドレスが追加されるとIPアドレス規制がなくなってしまいました。
        そうすると、1個目のIPアドレスはもちろん2個目、3個目以降のIPアドレスでも連続
        投稿が可能になってしまいました。
        その時、ip.logを覗いてみると

        「192.168.1.0162.168.1.1255.255.255.201……」

        の様に、IPアドレスが区切りなく連続で1行に記録されていました。

        試しに
        if((-M "ip.log") < 1){
        open(IPO,">>ip.log");
        print IPO $addr;
        print IPO \r\n;
        close(IPO);
        }
        else{#更新されて1日以上ならログをフォーマットして追加
        open(IPO,">ip.log");
        print IPO $addr;
        print IPO \r\n;
        close(IPO);
        }

        と、ログ内で改行させるなどさせてみました
        試したのは(\r\nと\nのみ)
        ですが、改行されるだけで複数のIPアドレスを認知してくれませんでした。

        ip.logに関してはアスキーでアップロードし、属性は666にしています。
        試しにバイナリでアップロードしてみたりしましたが結果は変わりませんでした。

        もしよろしければアドバイスなど頂ければ幸いです。


      [10390] Re[1]: VOTE COMの連続投稿防止改造について

      記事引用返信

        ・投稿者/ りゅういち -(2005/01/16(Sun) 04:56:14)
        ・U R L/ http://www.cj-c.com/

          ■No10381に返信(南さんの記事)
          > > と、ログ内で改行させるなどさせてみました
          > 試したのは(\r\nと\nのみ)
          > ですが、改行されるだけで複数のIPアドレスを認知してくれませんでした。
          > > ip.logに関してはアスキーでアップロードし、属性は666にしています。
          > 試しにバイナリでアップロードしてみたりしましたが結果は変わりませんでした。

          なるほど、では、\n にして
          while (<IPI>){
          if($_ eq $addr){&er_("二重投票は禁止");}#IPがすでにある場合終わり
          }
          の部分を
          while (<IPI>){
          chomp($_);#改行を取りのぞく
          if($_ eq $addr){&er_("二重投票は禁止");}#IPがすでにある場合終わり
          }
          としてみてください。


      [10406] VOTE COMの同一IP連続投稿防止改造

      済! / 記事引用返信

        ・投稿者/ 南 -(2005/01/17(Mon) 23:53:48)
        ・U R L/

          > なるほど、では、\n にして
          > while (<IPI>){
          > if($_ eq $addr){&er_("二重投票は禁止");}#IPがすでにある場合終わり
          > }
          > の部分を
          > while (<IPI>){
          > chomp($_);#改行を取りのぞく
          > if($_ eq $addr){&er_("二重投票は禁止");}#IPがすでにある場合終わり
          > }
          > としてみてください。

          ご返答、誠に有難うございました。
          さっそくお教え頂いた修正部分を組み込んだ所、無事複数のIPアドレスを
          認知してくれました。
          本当に有難うございました。


          過去ログに入ったときに解りやすいよう
          最終的に組み込んだスクリプトを添えます。

          #改造ここから-----------------------------------
          open(IPI,"ip.log");
          while (<IPI>){
          chomp($_);#改行を取りのぞく
          if($_ eq $addr){&er_("接続されたIPアドレスで今日の分の投票を既に行っています");}#IPがすでにある場合終わり
          }
          close(IPI);
          if((-M "ip.log") < 1){#更新されてから1日以内ならIP追加
          open(IPO,">>ip.log");
          print IPO $addr;
          print IPO "\n";
          close(IPO);
          }else{#更新されて1日以上ならログをフォーマットして追加
          open(IPO,">ip.log");
          print IPO $addr;
          print IPO "\n";
          close(IPO);
          }
          #---------------------------------------------


          最初投稿したスクリプトで、\nを「""」で囲むのを忘れていていました;;


      [10415] VOTE COMの同一IP連続投稿防止改造時間設定版

      済! / 記事引用返信

        ・投稿者/ 南 -(2005/01/19(Wed) 21:33:45)
        ・U R L/

          2005/01/19(Wed) 21:45:02 編集(投稿者)
          2005/01/19(Wed) 21:34:02 編集(投稿者)

          こんばんわ、前回りゅういち様にスクリプトのアドバイスを頂いたのですが。
          前回のままだと、指定時間が到達する前に、誰かが投票を行うと
          そこから再び指定時間までのカウントが始まり、永遠に投稿できない人が出そうなので
          時間を記録して、そこから指定時間をカウントするスクリプトの改造を行ってみました。


          #◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
          #◆◇◆◇◆◇◆◇◆◇◆◇【改造場所】◆◇◆◇◆◇◆◇◆◇◆◇
          #◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
          open(IPI,"ip.log");
          while (<IPI>){
          chomp($_);#改行を取りのぞく
          if($_ eq $addr){&er_("今日の分の投票を既に行っています");}#IPがすでにある場合終わり
          }
          close(IPI);

          #ホストとIP収集ログファイル生成(コメント無し投票はIPが解らないので)
          #時間取得ルーチンはクッキーサブルーチンからパクリ
          #時間、IP、ホスト名記録
          $tukihime = $mong + 1;#月の取得は1月=0 12月=11だったので+1
          $nekomimi = $hourg + 9;#日本の標準時は世界標準時+9時間なので+9
          open(IPHO,">>iphost.csv");
          print IPHO "$yearg/$tukihime/$mdayg/$youbi,$nekomimi:$ming:$secg";
          print IPHO ",";
          print IPHO $addr;
          print IPHO ",";
          print IPHO $host;
          print IPHO "\n";
          close(IPHO);

          #ログの初期化用TIMEログ作成
          #記録用時間(秒)を計算
          $time55 = time;#判定用時間全部足し算、1970年1月1日からの秒数を代入(20??年問題に引っかかりそうだけど使う)

          open(TMI,'<','cleartime.log');
          $time66 = <TMI>;#ログファイルの時間情報を読み込み
          close(TMI);

          #現在の時間から記録された時間を引いて一日経っていたら判定、一日は86400秒
          if($time55 - $time66 >= 86400){
          open(TMO,">cleartime.log");#現在時間秒を記録(上書き)
          print TMO $time55;
          close(TMO);

          open(IPO,">ip.log");#ログに(「>」は上書き指定)上書きでIP書き込み
          print IPO $addr;
          print IPO "\n";
          close(IPO);
          }else{#更新時間が記録された時間以下ならIPをログに追加
          open(IPO,">>ip.log");#ログに(「>>」は追加指定)上書きでIP書き込み
          print IPO $addr;
          print IPO "\n";
          close(IPO);
          }

          #◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
          #◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

          一応、簡単なテストで動作不具合が起きなかったです。
          これから改造する方で、投票数が多いサイトの方などにどうぞ。

          スクリプトの真中にあるのはおまけで出来上がった投票IP記録スクリプトです。
          年月とIPアドレス、ホストアドレスがCSV形式で保存されます。

          ip.log
          iphost.csv
          cleartime.log
          の空のファイルを作ってください。「cleartime.log」は念のため0と書いておいたほうが
          いいと思います。
          ファイル名を変えたときは、スクリプトのログファイル指定のところも変えてください。
          全部のログファイルはパーミッション「666」で上げてください。


      [10416] Re[4]: VOTE COMの同一IP連続投稿防止改造時間設定版

      済! / 記事引用返信

        ・投稿者/ 南 -(2005/01/19(Wed) 22:09:37)
        ・U R L/

          2005/01/19(Wed) 22:10:02 編集(投稿者)

          すいません、先ほどのスクリプトに「$host」を取得する部分を忘れていました。
          ついでにとあるスクリプト
          http://fairyland.cside.com/marine/tinkcgi/index.html
          Sugiura様のTinkCGI HPで公開している「Ana-Vote」
          内に書かれていたプロクシ制限スクリプトを
          お借りした改造スクリプトもつけておきます


          votec.cgiの
          3行目:require './jcode.pl';
          以下に以下のスクリプトを入れてください。

          #プロクシらしいIPをはじく-------------------
          #===============================
          #環境変数を取得するサブルーチン
          #===============================
          sub get_user_data {
          $addr = $ENV{'REMOTE_ADDR'};
          $host = gethostbyaddr(pack('C4',split(/\./,$addr)),2);
          $client =$ENV{'HTTP_CLIENT_IP'};
          $via = $ENV{'HTTP_VIA'};
          $xfor = $ENV{'HTTP_X_FORWARDED_FOR'};
          $for = $ENV{'HTTP_FORWARDED'};
          $agent = $ENV{'HTTP_USER_AGENT'};
          if ($xfor ne "") {$xfor_name = gethostbyaddr(pack('C4',split(/\./,$xfor)),2) || $xfor; }
          $referer = $ENV{'HTTP_REFERER'};
          }


          #==================================
          #投票制限対象を判定するサブルーチン
          #==================================
          sub reject_check {
          #プロクシ規制
          if ($reject_proxy == "1"){
          $ip = $host;
          $ip =~ s/[0-9\.]//g;
          #念のため停止 if ($ip eq "") {$rejection = 1;}
          if ($host =~ /^firewall|^router|proxy|^prx|cache|delegate|^gate|^gw|^host|^dns|keeper|cust|^mail|^www/i) {$rejection = 1;}
          #念のため停止 if ($host !~ /\.jp$/i && $host !~ /\.bbtec\.net$/i) {$rejection = 1;}
          #念のため停止 if ($via ne "" || $client ne "") {$rejection = 1;}
          }
          #教育機関、政府機関の規制
          if ($reject_acgo == "1"){
          if ($host =~ /kencho|pref|\.ac\.jp$|\.go\.jp$/i) {$rejection = 1;}
          }
          #フリープロバイダーの規制
          if ($reject_free == "1"){
          if ($host =~ /freecom.ne.jp|freeserve.ne.jp|freejpn.com|freenavi.net|livedoor.com/i) {$rejection = 1;}
          }
          #その他規制ホスト
          if ($reject_host ne ""){
          if ($host =~ /$reject_host/i) {$rejection = 1;}
          elsif ($addr =~ /$reject_host/i) {$rejection = 1;}
          }

          #特別に投票を許可するホスト
          if ($escape_host ne ""){
          if ($host =~ /$escape_host/i) {$rejection = 0;}
          elsif ($addr =~ /$escape_host/i) {$rejection = 0;}
          }
          }

          $reject_proxy = "1"; #プロクシによる投票を規制をするか 0=規制しない 1=規制する
          $reject_acgo = "0"; #教育機関や政府機関からの投票を規制するか 0=規制しない 1=規制する
          $reject_free = "0"; #フリープロバイダーからの投票を規制するか 0=規制しない 1=規制する
          $reject_host = ""; #その他、規制するホスト(ホスト名又はIPの一部でも可。複数のときは「|」で区切って指定)
          $escape_host = ""; #上の4つの投票規制対象に該当しても、特別に投票を許可するホスト(ホスト名又はIPの一部でも可。複数のときは「|」で区切って指定)

          #==================================
          #実行形式例
          #==================================
          &get_user_data;
          &reject_check;

          if ($rejection == 1){
          print "Content-type: text/html\n\n";
          print "<html><body>プロクシ接続です</body></html>";
          exit;
          }

          #-------------------------------------------


          #念のため停止
          の部分は判定がきつすぎると思うのでコメントアウトしています。
          必要に応じてコメントアウトを解除してください。


      [10428] VOTE COMの同一IP連続投稿防止改造時間設定版 バグ直し

      済! / 記事引用返信

        ・投稿者/ 南 -(2005/01/21(Fri) 23:43:06)
        ・U R L/

          No10415で書いたホストとIP収集ログは、取得した時間の変数の内容が変な
          バグがあったので以下に替えてください。
          ついでに投票内容を取得するようにもしました。

          #ホストとIP収集ログファイル
          #時間取得ルーチンはクッキーサブルーチンからパクリしていたけど日本標準時が変なのでローカルのほうからパルリ変更
          #時間、IP、ホスト名記録
          &time_;#現在時刻取得サブルーチン呼び出し
          open(IPHO,">>iphost.csv");
          print IPHO $vote;#投票内容が書いている変数を読み込んで書き込む
          print IPHO ",";
          print IPHO $date;
          print IPHO ":";#$dateには秒が無いので追加
          print IPHO $sec;
          print IPHO ",";
          print IPHO $addr;
          print IPHO ",";
          print IPHO $host;
          print IPHO "\n";
          close(IPHO);


          あと、前回のスクリプトのままだと、IPが登録されていないユーザーが
          投票を行わない限りログ消去の処理が行われなかったので
          votec.cgiの
          3行目:require './jcode.pl';
          以下に以下のスクリプトを入れてください。


          #-------------------------------------------
          #アクセス時ログの初期化用TIMEログ作成
          #記録用時間(秒)を計算
          $time55 = time;#判定用時間全部足し算、1970年1月1日からの秒数を代入(20??年問題に引っかかりそうだけど使う)

          open(TMI,'<','cleartime.log');
          $time66 = <TMI>;#ログファイルの時間情報を読み込み
          close(TMI);

          #現在の時間から記録された時間を引いて一日経っていたら判定、一日は86400秒
          if($time55 - $time66 >= 86400){#1日以上経っていたら判定
          open(TMO,">cleartime.log");#現在時間秒を記録(上書き)
          print TMO $time55;
          close(TMO);

          open(IPO,">ip.log");#IPログに(「>」は上書き指定)上書きで""空白書き込み
          print IPO "";
          close(IPO);
          }

          #-------------------------------------------


      [10496] Re[6]: VOTE COMの同一IP連続投稿防止改造時間設定版 バグ直し

      記事引用返信

        ・投稿者/ -(2005/02/07(Mon) 20:42:02)
        ・U R L/

          こんにちは、未だに試行錯誤しています。

          南さんが書いたとおりvotec.cgiを書き換えてみたのですが、どうしても500エラーになってしまいます。
          文法チェックをかけてみたら

          #ログの初期化用TIMEログ作成
          #記録用時間(秒)を計算
          $time55 = time;
          #判定用時間全部足し算、1970年1月1日からの秒数を代入(20??年問題に引っかかりそうだけど使う)

          open(TMI,'<','cleartime.log');
          $time66 = <TMI>;#ログファイルの時間情報を読み込み
          close(TMI);

          ↑この辺らしいのですが、どこが違ってエラーになってしまっているのか判りません。
          判るようでしたらご教授願えないでしょうか、よろしくお願いします。


      [10522] 連続投稿防止部分のみソース

      記事引用返信

        ・投稿者/ 南 -(2005/02/15(Tue) 14:52:38)
        ・U R L/

          こんにちは、櫻様。
          私の現在使用しているCGIの部分と見比べても違いが無かったので
          別の所がまずいかもしれません。
          ですので、こちらで改造した最終的な形のスクリプトを貼り付けておきます。
          念のため、無改造で新品状態のVOTE COMを再度ダウンロードし、
          それを改造するといいかも知れません。
          何時の間にか、別な場所を弄ってしまっているかも知れませんしね。

          ※投票収集ログを生成する部分はややこしくなりそうなので消しています


          #『無改造votec.cgiの412行目の $addr = $ENV{'REMOTE_ADDR'}; の下に入れてください。』
          #◆◇◆◇◆◇◆◇◆◇◆◇【改造場所】◆◇◆◇◆◇◆◇◆◇◆◇
          open(IPI,"ip.log");
          while (<IPI>){
          chomp($_);#改行を取りのぞく
          if($_ eq $addr){&er_("投票を既に行っています");}#IPがすでにある場合終わり
          }
          close(IPI);

          #ログの初期化用TIMEログ作成
          #記録用時間(秒)と投票時の時間(秒)を計算する

          #「time」は時間を1970年から秒で数えた数値を自動的に取り出すperlの機能
          #これで投票した時刻を取得する。
          $time55 = time;

          open(TMI,'<','cleartime.log');
          $time66 = <TMI>;#ログファイルの時間情報を読み込み
          close(TMI);

          #現在の時間から記録された時間を引いて一日経っていたら実行、一日は86400秒
          if($time55 - $time66 >= 86400){
          open(TMO,">cleartime.log");#現在時間秒を記録(上書き)
          print TMO $time55;
          close(TMO);
          open(IPO,">ip.log");#ログに(「>」は上書き指定)上書きでIP書き込み
          print IPO $addr;
          print IPO "\n";
          close(IPO);
          }else{#更新時間が記録された時間以下ならIPをログに追加
          open(IPO,">>ip.log");#ログに(「>>」は追加指定)上書きでIP書き込み
          print IPO $addr;
          print IPO "\n";
          close(IPO);
          }

          #◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

          あとは予想でしか物を言えないのですが、
          改造時に追加した部分だけ漢字コードや改行コードが違ってエラーになる事があるかも
          しれません…。
          私の使っているテキストエディタはterapadと言うものです。
          http://www5f.biglobe.ne.jp/~t-susumu/
          漢字コードや改行コードを自動判別してくれる為便利です。

          なにぶんCGIを勉強し始めたのがこの改造からだったりしますので
          専門的な原因とか解らなくてすいません(汗

          追伸:りゅういち様、長々とスクリプトの貼り付けなどして申し訳ないです。
          No10416のような別のCGIからの引用や過去ログからの引用は別として
          他の部分の改造はCGI文法などのサイトで勉強して書いたものなので多分オリジナルだと思います…。
          そのオリジナル部分のスクリプトに関しては著作権を放棄します。
          よろしければりゅういち様の投票フォームのバージョンアップ時などに
          採用していただければ幸いです。


      [10552] Re[8]: 連続投稿防止部分のみソース

      済! / 記事引用返信

        ・投稿者/ -(2005/02/26(Sat) 18:42:51)
        ・U R L/

          返事が遅くなって申し訳ありません。
          あのあと何度か試してみたところ、エラーは出なくなりました。
          ありがとうございます。

          私のサイトの投票は「3時間に1回の投票」「上限15,000票」と設定してあります。
          「好きなア−ティストへの投票」という形なので、競争が激しいです。
          好きなアーティストには1位にいて欲しいので、連続投票も激しさを増すばかりです。
          コメントもかなりきつい言葉が入ったりします。
          1日に何百票と入るので、メンテナンスもかなり辛いです。
          なのでせめて連続投票だけでもなくなってくれれば・・・と思うのですが、私のサイト自体気に入らない方もいるようで・・・。
          どのような改造をしても、かいくぐってくる人はいるようですね。
          管理人という立場上、ヒートアップしている方々になんと言って良いのやら・・・

          なんか愚痴みたいになってしまってすみません。
          来月からこのスクリプトでやってみようと思います。
          ありがとうございました。



    [10542] I-BOARD/2001と.htaccessで

    記事引用返信

      ・投稿者/ Rei Akina -(2005/02/21(Mon) 18:27:07)
      ・U R L/


        お聞きしたいのですが。

        .htaccessを使用したらI-BOARD/2001だけ動かなくなってしまったのですが
        Child Forumはそのまま動くのです
        どうすればI-BOARD/2001を動くように出来ますか?

        ファイル構成
        [フォルダ]┳[ibbs] -ibbs.cgi
              ┃      :
              ┣[cf] -cf.cgi
              ┃    :
              ┣.htaccess
              ┗index.html

        プログラムのバージョン
        I-BOARD/2001 v2.4
        Child Forum v3.0

        エラーメッセージ
        500 Internal Server Error
        Internal Server Error
        The server encountered an internal error or misconfiguration and was unable to complete your request.
        Please contact the server administrator, webmaster@cs-f.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

        More information about this error may be available in the server error log.



        --------------------------------------------------------------------------------

        Apache/1.3.33 Server at www.cs-f.net Port 80

        お願いいたします。


      [10549] Re[1]: I-BOARD/2001と.htaccessで

      済! / 記事引用返信

        ・投稿者/ Rei Akina -(2005/02/24(Thu) 21:20:26)
        ・U R L/

          ■No10542に返信(Rei Akinaさんの記事)
          > お聞きしたいのですが。
          >
          > .htaccessを使用したらI-BOARD/2001だけ動かなくなってしまったのですが
          > Child Forumはそのまま動くのです
          > どうすればI-BOARD/2001を動くように出来ますか?
          >
          > ファイル構成
          > [フォルダ]┳[ibbs] -ibbs.cgi
          >       ┃      :
          >       ┣[cf] -cf.cgi
          >       ┃    :
          >       ┣.htaccess
          >       ┗index.html
          >
          > プログラムのバージョン
          > I-BOARD/2001 v2.4
          > Child Forum v3.0
          >
          > エラーメッセージ
          > 500 Internal Server Error
          > Internal Server Error
          > The server encountered an internal error or misconfiguration and was unable to complete your request.
          > Please contact the server administrator, webmaster@cs-f.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.
          >
          > More information about this error may be available in the server error log.
          >
          >
          >
          > --------------------------------------------------------------------------------
          >
          > Apache/1.3.33 Server at www.cs-f.net Port 80
          >
          > お願いいたします。

          こちらの勘違いで初歩的なミスを犯してました。
          どうもお騒がせしてすいません。



全ページ数 / [0] [1] [2] [3] [4] [5] [6]



- Child Forum -