インフォメーションBBS

[使い方] [タイトルのみ] [関連発言] [最新20発言] [過去ログ一覧]
お名前:  ←パスワード(修正用)
アドレス:
タイトル:

本文:
  表示数

1022 スミコ [RE] 2000/06/14 15:41 [修正]
しつもんです。
はじめまして。アクセスログのCGI版を使っているのですが、時刻が外国
サーバのため15時間遅れてしまいます。どのように書き足したらよいの
でしょうか?どうかお教えください。よろしくお願いします。

1021 新キャリ [RE] 2000/06/07 20:02 [修正]
RE:すみませんっ。お助けを…。
#1018(けいた氏)の書き込みを引用します:
>こちらのアクセス解析(access2)を使いたいのですが、どうも設置が上手く行きません…。

 初めまして。新キャリ と言います。
私も何度か「そういった事」があり困っていましたが、私は「 .htaccess 」ファイルで解決しました。

 が!
結局私も「SSIが動かず」、最終手段として「access2 CGI版」を代用しています。
 やり方は至って簡単。「CGIのaccess2」のログを獲るプログラム access2.cgiを
 img src="cgi-bin/access2.cgi"
として配置し、ソレを各プログラムで読むんです。 logana.cgi や logview.cgi 等。
プログラム内容は同じなので(多分)、問題なく作動します。
しかも「全部CGI」なのでSSIを使わずに使用できます。
 良く解からないようならメールを下さい。 今使っているのをお送りします。

 SSIはプロバイダによって、「.htmか.shtml にしなさい!」って事もありますのでお気よ付け下さい。

 

1020 けいた [RE] 2000/06/07 02:05 [修正]
RE2:すみませんっ。お助けを…。
#1019(水原@女神教会氏)の書き込みを引用します:
>ログは606か666じゃないとだめですよ〜。

ログのパーミッションを変えてみたのですが、それでもダメみたいです…。
何か他に原因があるのでしょうか…。
うーん、困った…。

1019 水原@女神教会 [RE] 2000/06/06 08:52 [RES一覧] [修正]
RE:すみませんっ。お助けを…。
#1018(けいた氏)の書き込みを引用します:
>こちらのアクセス解析(access2)を使いたいのですが、どうも設置が上手く行きません…。
>
>logana.cgiもlogview2.cgiもブラウザから見ることは出来るのですが、ログが取れてないらしく空のままの状態なんです…。
>パスもパーミッションも合ってると思うのですが…。
>一応パーミッションはフォルダが701で、CGIとplが705、logが600だったと思います…。
>どうかよろしくお願いしますっ。

ログは606か666じゃないとだめですよ〜。

1018 けいた [RE] 2000/06/06 00:49 [RES一覧] [修正]
すみませんっ。お助けを…。
こちらのアクセス解析(access2)を使いたいのですが、どうも設置が上手く行きません…。

logana.cgiもlogview2.cgiもブラウザから見ることは出来るのですが、ログが取れてないらしく空のままの状態なんです…。
パスもパーミッションも合ってると思うのですが…。
一応パーミッションはフォルダが701で、CGIとplが705、logが600だったと思います…。
どうかよろしくお願いしますっ。

1017 タモマック [RE] 2000/06/05 19:47 [修正]
どうか!お知恵を・・・・
みなさん初めまして!私の欲しいスクリプトが国内外いろいろ
探したのですが見つからず、作るしかない!と「すぐに使える・・」
を買って作って見たのです。動作はするのですがもっといい方法が
あるはのでは?という感じがしてなりません。
リンク集で更新日を表示させたいのですが、リンク先の更新なので
1行SSIが使えません。リンク先の人に私のサイトの更新ボタンを押させて
(パスワードのスクリプトをはさんで)「〜のH/P00/06/12更新」
としたいのです。
「すぐに使える」のアンケート集計を改造して、送信すると投票総数が
増える→ファイルが書き換えられる→SSIで更新日を表示というまわり
くどいものを作ったのですが・・・
良きアドバイスお願いします。

1016 KOOL [RE] 2000/05/30 10:25 [修正]
RE12:ミニBBSに直接アクセスできないようにするには
わかやま神さま、水原@女神教会さま、見事動きました!
ありがとうございました!!
今回の件で、Perlの構文をもっと勉強しなきゃと思いました...。
これからもbbs.cgiを題材としてお勉強させていただきます。
本当にありがとうございました。

1015 水原@女神教会 [RE] 2000/05/30 09:49 [RES一覧] [修正]
RE11:ミニBBSに直接アクセスできないようにするには
#1014(わかやま神氏)の書き込みを引用します:
>$ref = $ENV{'HTTP_REFERER'};  #リンク元
>
>$come_url = 'http://*********/*********/*********/*********/___.htm';
>$for_url = 'http://www.yahoo.co.jp/';
>$this_url = 'http://*********/cgi-bin/bbs.cgi';

HTTP_REFERERにhttp://*****/が入ってない可能性もあるかもしれません。
(多分しっかり入ってるはずだけど)

1014 わかやま神 [RE] 2000/05/30 11:47 [RES一覧] [修正]
RE10:ミニBBSに直接アクセスできないようにするには
#1013(KOOL氏)の書き込みを引用します:
>たびたびありがとうございます。現在の状況です。
>条件を一つにして実行するとうまく動いています。
>書きの場合は、___.htmから来た場合のみbbsが帰ってきます。
>ただし、更新ボタンを押したり、直接bbs.cgiへ来るとyahooへ
>飛んでいっちゃいます。
>条件式ですが、頂いた内容だと片方の条件が満たされても
>もう片方が満たされないという状況が起こっているのでしょうか?
>それともほかの何か...。どーすればー!!

BBSが表示されている状態で、
登録ボタンなどを押すと、またBBSが呼ばれます。
(自分で自分を呼びだしているから)
条件式を一つにしてあり「HTTP_REFERER変数」にはBBS(CGI)のURLが入っていますから、
比較の時点ではねられてしまうんですね。
という事はきちんと動いている・・・という事です

ちょっと調べてみましたが、
条件式を複数にした場合は、論理演算子「||」は真(1)または偽(0)を返さず、
最後に評価された演算子の値を返すようです。
ですから、このままでは、いつまでたってもBBSに入れません。
一度下記のスプリクトで試してみて下さい


$ref = $ENV{'HTTP_REFERER'};  #リンク元

$come_url = 'http://*********/*********/*********/*********/___.htm';
$for_url = 'http://www.yahoo.co.jp/';
$this_url = 'http://*********/cgi-bin/bbs.cgi';

$bbs_ok = ($ref eq $come_url || $ref eq $this_url) ? '1' : '0' ;

if ($bbs_ok == 0) {
     print "Location: $for_url\n\n";

exit;
     }


基本的に考え方は変わっていません。

$bbs_ok = ($ref eq $come_url || $ref eq $this_url) ? '1' : '0' ;

を追加しています。

この内容は、条件演算子で、
「$ref eq $come_url」または「$ref eq $this_url」を比較して
真になった場合「$bbs_ok = 1」偽になった場合「$bbs_ok = 0」となります。
(入るデータは?より後ろの1(真)0(偽)の数値です)
あとは、「$bbs_ok」が「0」ならLocationヘッダを実行する・・・となります。

真・偽を返す条件演算子は
$bbs_ok = ($ref eq $come_url || $ref eq $this_url) ? "OK" : "NO" ;
if ($bbs_ok eq "NO") {
としても同じです。(この場合は比較は文字列です)

ドジな頭を絞って考えてみたんですが、もっといい方法があるかもしれません。
(上手くいくといいんだけど・・・と誰かに振ろうと考えている自分。あ〜、情けない(-_-;))

1013 KOOL [RE] 2000/05/29 18:05 [RES一覧] [修正]
RE9:ミニBBSに直接アクセスできないようにするには
たびたびありがとうございます。現在の状況です。
条件を一つにして実行するとうまく動いています。
書きの場合は、___.htmから来た場合のみbbsが帰ってきます。
ただし、更新ボタンを押したり、直接bbs.cgiへ来るとyahooへ
飛んでいっちゃいます。
条件式ですが、頂いた内容だと片方の条件が満たされても
もう片方が満たされないという状況が起こっているのでしょうか?
それともほかの何か...。どーすればー!!

#!/usr/bin/perl
$ref = $ENV{'HTTP_REFERER'};	#リンク元

$come_url = 'http://***/***/***/***/___.htm';	#参照元URL
$for_url = 'http://www.yahoo.co.jp/';	#ジャンプ先URL
$this_url = 'http://***/***/bbs.cgi';

if ($ref ne $come_url)
  {
	print "Location: $for_url\n\n";

exit;
    }

require 'jcode.pl';	#漢字変換ライブラリを読み込む

1012 わかやま神 [RE] 2000/05/29 17:58 [RES一覧] [修正]
RE8:ミニBBSに直接アクセスできないようにするには
#1011(KOOL氏)の書き込みを引用します:
>とてもわかりやすいご返答本当にありがとうございます!
>現在、頂いたコードをみて下記のように書いてみました。
>ところが、どっから来てもYAHOOのページにしか飛ぶことが出来ません。
>ちなみに、if文のなかの || というのは、or にあたるものですか?
>あと ne というのは not みたいな意味なのでしょうか?
>聞いてばかりですみません...
>
>
>#!/usr/bin/perl
>$ref = $ENV{'HTTP_REFERER'};	#リンク元
>
>$come_url = 'http://*********/*********/*********/*********/___.htm';
>$for_url = 'http://www.yahoo.co.jp/';
>$this_url = 'http://*********/cgi-bin/bbs.cgi';
>
>if ($ref ne $come_url || $ref ne $this_url){
>	print "Location: $for_url\n\n";
>
>exit;
>    }
>
>require 'jcode.pl';	#漢字変換ライブラリを読み込む

HTTP_REFERERの取得した内容とif文の比較内容($come_urlまたは$this_url)
が違うからじゃないですかね?

if文の中の「||」は、”論理和”です。「ne」は”等しくない”となります。
この場合は、等しくなければ
「print "Location: $for_url\n\n";」を実行し、等しければ実行しない。
となるはずなんですが・・・

とりあえず単純に、if ($ref ne $come_url){
とすると指定先からBBSに入れますか?
(むろん書き込みは出来んだろうけど)

あ、$ENV{'HTTP_REFERER'};は、
$ref = $ENV{"HTTP_REFERER"};(ダブルクォート)じゃないですか?
(いや、シングルでもよかったかな?あれ、どっちだっけ・・・)

環境変数の内容を見れる様にテストCGI作れば一番いいんだけど。
HTTP_REFERERが使えないとか・・・
でも、下の書き込みでURL取れたって書いてあるし。

1011 KOOL [RE] 2000/05/29 13:40 [RES一覧] [修正]
RE7:ミニBBSに直接アクセスできないようにするには
とてもわかりやすいご返答本当にありがとうございます!
現在、頂いたコードをみて下記のように書いてみました。
ところが、どっから来てもYAHOOのページにしか飛ぶことが出来ません。
ちなみに、if文のなかの || というのは、or にあたるものですか?
あと ne というのは not みたいな意味なのでしょうか?
聞いてばかりですみません...


#!/usr/bin/perl
$ref = $ENV{'HTTP_REFERER'};	#リンク元

$come_url = 'http://*********/*********/*********/*********/___.htm';
$for_url = 'http://www.yahoo.co.jp/';
$this_url = 'http://*********/cgi-bin/bbs.cgi';

if ($ref ne $come_url || $ref ne $this_url){
	print "Location: $for_url\n\n";

exit;
    }

require 'jcode.pl';	#漢字変換ライブラリを読み込む

1010 わかやま神 [RE] 2000/05/27 10:38 [RES一覧] [修正]
RE6:ミニBBSに直接アクセスできないようにするには
#1009(水原@女神教会氏)の書き込みを引用します:
>このままだとBBS自体からのアクセスが拒否されます。

水原@女神教会様フォローありがとうございます。
申し訳ありませんm(__)m
自分から自分を呼び出すんですね。
(そこまで考えていなかったドジな私・・・)

1009 水原@女神教会 [RE] 2000/05/27 08:11 [RES一覧] [修正]
RE5:ミニBBSに直接アクセスできないようにするには
#1008(わかやま神氏)の書き込みを引用します:
>#1006(KOOL氏)の書き込みを引用します:
>>すみません、質問があります。
>>HTTP_REFERERで、URLを取れることは確認できたのですが、
>>条件分岐をbbs.cgiに組み込むとすれば、どうすればよいのでしょうか?
>>IF文を真似して書いてみたのですが、よくわからないのです。
>>方向としては、bbs.cgiが起動した時点で、HTTP_REFERERがaaa.htmlなら
>>bbs.cgiを実行し、そうでなければbbb.htmlへという風にしてみたいのですが...
>>一応、頭につけてみたりはしたのですが、だめでした。お助け願います。。。
>
>こんな感じですかね?
>(机上で考えてみたので保証外ですが・・・)
>
>$ref = $ENV{"HTTP_REFERER"};  #リンク元
>
>$come_url = "http://www.hoge.hoge.ne.jp/aaa.html";  #参照元URL
>$for_url  = "http://www.hoge.hoge.ne.jp/bbb.html";  #ジャンプ先URL
>
>if ($ref ne $come_url) {            #参照元URLでなければ
↑この行を
if ($ref ne  $come_url || $ref ne "/bbs.cgi"){
こんな感じにしましょう。

>  print "Location: $for_url\n\n";   #ジャンプ先URLにジャンプ
>
>exit;                               #おしまい
>    }
>

もういっけ。
このままだとBBS自体からのアクセスが拒否されます。

1008 わかやま神 [RE] 2000/05/27 00:17 [RES一覧] [修正]
RE4:ミニBBSに直接アクセスできないようにするには
#1006(KOOL氏)の書き込みを引用します:
>すみません、質問があります。
>HTTP_REFERERで、URLを取れることは確認できたのですが、
>条件分岐をbbs.cgiに組み込むとすれば、どうすればよいのでしょうか?
>IF文を真似して書いてみたのですが、よくわからないのです。
>方向としては、bbs.cgiが起動した時点で、HTTP_REFERERがaaa.htmlなら
>bbs.cgiを実行し、そうでなければbbb.htmlへという風にしてみたいのですが...
>一応、頭につけてみたりはしたのですが、だめでした。お助け願います。。。

こんな感じですかね?
(机上で考えてみたので保証外ですが・・・)

$ref = $ENV{"HTTP_REFERER"};  #リンク元

$come_url = "htttp://www.hoge.hoge.ne.jp/aaa.html";  #参照元URL
$for_url  = "htttp://www.hoge.hoge.ne.jp/bbb.html";  #ジャンプ先URL

if ($ref ne $come_url) {            #参照元URLでなければ
  print "Location: $for_url\n\n";   #ジャンプ先URLにジャンプ

exit;                               #おしまい
    }

追加場所は、#!/usr/local/bin/perlの次行ぐらいでいいんじゃないかな。
(要は2行目)
それから、Locationヘッダの直後は必ず一行あけて(空行)下さい。
あ、環境変数で取得したURL情報はどんな内容かは分かりませんので、
KOOLさんのサイトに合わせて下さいね。

1007 わかやま神 [RE] 2000/05/27 00:31 [修正]
RE:アンケートフォームの件ですが・・・
#1005(みんにゃりん氏)の書き込みを引用します:
>初めまして。
>いくつかのプログラムをDLさせていただきました。
>
>で、早速改造を試みてみたのですが、質問項目を増やしたら、
>結果表に出力される票数が、最後の方、なんだかヘンになってしまいました。
>
>http://www6.freeweb.ne.jp/diary/minyarin/cgi-bin/enquete.cgi
>
>↑こんなカンジです。
>HTMLを直すとサーバーエラーになってしまうようなのです。
>ドコを直してみたらいいでしょう?

どのように改造されたのか、解らないです。
こういう風に改造したとか、こんなエラーが出る。
という風に書かれると諸先生方もお答えしやすいと思います。

1006 KOOL [RE] 2000/05/26 18:30 [RES一覧] [修正]
RE3:ミニBBSに直接アクセスできないようにするには
すみません、質問があります。
HTTP_REFERERで、URLを取れることは確認できたのですが、
条件分岐をbbs.cgiに組み込むとすれば、どうすればよいのでしょうか?
IF文を真似して書いてみたのですが、よくわからないのです。
方向としては、bbs.cgiが起動した時点で、HTTP_REFERERがaaa.htmlなら
bbs.cgiを実行し、そうでなければbbb.htmlへという風にしてみたいのですが...
一応、頭につけてみたりはしたのですが、だめでした。お助け願います。。。

1005 みんにゃりん [RE] 2000/05/26 18:24 [RES一覧] [修正]
アンケートフォームの件ですが・・・
初めまして。
いくつかのプログラムをDLさせていただきました。

で、早速改造を試みてみたのですが、質問項目を増やしたら、
結果表に出力される票数が、最後の方、なんだかヘンになってしまいました。

http://www6.freeweb.ne.jp/diary/minyarin/cgi-bin/enquete.cgi

↑こんなカンジです。
HTMLを直すとサーバーエラーになってしまうようなのです。
ドコを直してみたらいいでしょう?

1004 KOOL [RE] 2000/05/26 09:58 [RES一覧] [修正]
RE2:ミニBBSに直接アクセスできないようにするには
わかやま神さま
早速のご返事ありがとうございます。
「HTTP_REFERER」ですね、試してみます。

1003 わかやま神 [RE] 2000/05/24 22:17 [RES一覧] [修正]
RE:ミニBBSに直接アクセスできないようにするには
#1002(KOOL氏)の書き込みを引用します:
>はじめまして。
>快適活用ライブラリで勉強させてもらっています。
>ひとつ質問なのですが、ミニBBSのような、〜.cgiというファイルに直接アクセス
>できないようにする方法ってあるのでしょうか?
>例えば、必ず決まったページからしか入ってこれないようにとか...
>よろしくお願いします。

下の書き込みで、水原@女神教会さんが書かれていますが、
「HTTP_REFERER」を利用すれば可能かと思います。
この変数は、一つ前の場所を示しますから、

この場所が指定された場所かどうかをチェックし指定された場所から来たなら、BBSを表示する。
指定以外の場所ならトップページなどを表示する。

これでどうでしょう?

あと381個の発言があります。 [さらに20個を読む]
[トップページに戻る]管理人 : キャメル