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

特定URLから

  • すぐに回答を!
  • 質問No.145137
  • 閲覧数149
  • ありがとう数9
  • 気になる数0
  • 回答数14
  • コメント数0

お礼率 53% (21/39)

友人の運営するサイトが特定URLからの閲覧者から嫌がらせを受けています。
その特定URLの管理者に言っても聞き入れてもらえないのは分かっていますので、アクセス制限をかけたいと考えているようです。
しかし私も友人もホストによるアクセス制限のかけかたは知っていても特定URLからのアクセス制限は分かりません。
実際、あるのかどうかも分かりませんが、あったら非常にありがたいと思っています。

もしも特定URLからの閲覧者を弾く、アクセス制限の方法およびプログラム記載がありましたら、御教授願います。
通報する
  • 回答数14
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.5
レベル13

ベストアンサー率 37% (419/1115)

まだ御覧になっていないようですが、一応サンプルを記載しておきます。

#!/usr/local/bin/perl

$ENEMY='http://www.○○○.ne.jp/×××.html';

if($ENV{'HTTP_REFERER'} eq $ENEMY){
ErrorFunc();
exit(1);
}

print << "ENTRY";
Content-type: text/html

#この上の行は必ず空行にします。
#この部分に現在のエントリーページのHTMLを全て貼り付けます。
ENTRY
exit(0);

sub ErrorFunc(){
print<<"MESSAGE";
Content-type: text/html

<HTML>
<HEAD>
<TITLE>エラー</TITLE>
</HEAD>
<BODY>
<H1>現在メンテナンス中です</H1>
</BODY>
</HTML>
MESSAGE
}

尚、上記の「#」から始まる行はコメントですので、実際に作成される際は削除してください。
但し先頭行は除きます。
先頭行にはこのCGIを実行する為に必要なperlの在処が示されています。
上記の在処はあくまでサンプルですので、この部分はご使用の環境に合わせて書き換える必要があります。
一番簡単なのはチャットのCGIの先頭行を見てみる手です。
既に動いているプログラムですから間違いないと思います。
また、「$ENEMY」に設定するURLも今は架空のものですので、実際に対象となっているURLを記載して下さい。
ご不明の点があれば補足して下さい。

#尚、これはあくまでも該当URLに貼られたリンクから辿ってきた場合に有効になります。
#また、エラーメッセージはとりあえず当たり障りのないものとしました。
補足コメント
hotahota2

お礼率 53% (21/39)

ありがとうございます。
早速プログラムを実行したところ、パーミッションエラーが起きたそうです。
パーミッションの指定は特殊なものなのでしょうか?
ちなみに1行目のperlも合ってますし、jcode.plも入れたそうです。
念のため私も実行しましたところ、サバエラが起きます。
無知なものでもうしわけありません。
パーミッションの件を御教授願います。
投稿日時 - 2001-10-04 21:13:50
-PR-
-PR-

その他の回答 (全13件)

  • 回答No.4
レベル13

ベストアンサー率 37% (419/1115)

>友人は『チャット入室処理を弾く』のではなく、いわゆる「チャット1、チャット2…」とチャット部屋が並ぶところで特定URLを弾きたいと考えているようです。 ということであれば、そのページ自体をCGI化してしまうのが良いと思います。 既にページがHTMLとして存在するのならそれほど難しくはありませんし。 ちょっと今から職場の方に移動しますので、後程で良ければ具体的に説明いたします。 ご希望ならば ...続きを読む
>友人は『チャット入室処理を弾く』のではなく、いわゆる「チャット1、チャット2…」とチャット部屋が並ぶところで特定URLを弾きたいと考えているようです。

ということであれば、そのページ自体をCGI化してしまうのが良いと思います。
既にページがHTMLとして存在するのならそれほど難しくはありませんし。
ちょっと今から職場の方に移動しますので、後程で良ければ具体的に説明いたします。
ご希望ならば補足して下さい。
  • 回答No.6
レベル13

ベストアンサー率 37% (419/1115)

>パーミッションの指定は特殊なものなのでしょうか? いいえ、何ら特殊なものではありません。 ただ、転送しただけでは実行権が付きませんので、転送後telnet等でログインし、 chmod +x ○○○.cgi のような感じで実行権を付加します。 またはチャットのCGIを組み込まれたときにも同様のことをなさっているはずですから、上記の通りでなくてもそのときと同じやり方で構いません。 も ...続きを読む
>パーミッションの指定は特殊なものなのでしょうか?

いいえ、何ら特殊なものではありません。
ただ、転送しただけでは実行権が付きませんので、転送後telnet等でログインし、

chmod +x ○○○.cgi

のような感じで実行権を付加します。
またはチャットのCGIを組み込まれたときにも同様のことをなさっているはずですから、上記の通りでなくてもそのときと同じやり方で構いません。
もし実行権を付加しているのにエラーになると言うことでしたら補足して下さい。

それと、telnetで入れるのならば、スクリプトの置いてあるディレクトリに移動し、コマンドラインから「perl -wc ○○○.cgi」を実行してみて下さい。
スクリプトに記述ミスがあればその行数とエラーが表示されます。
掲載したスクリプトは実行確認済みですが、一応念のためということで…。
補足コメント
hotahota2

お礼率 53% (21/39)

友人はtelnetで設置しているようですが、私はFTPソフトでパーミッションの設定を行いながら実行権を不可しております。
(私もチャット設置してますが、サーバーがtelnet禁止のところなので、MacのFetchを使っております)
友人と今、連絡が取れないため、友人の方で出るエラーがどんなものか分かりませんが、私の場合は純粋(?)にサーバーエラーです。
どこかの記載が間違ってるかもしれません。

ところで、#HTMLを書く所 の部分ですが、#から続けてHTMLを<html>から</html>まで書いていいのですよね?
一応、改行もしてみたのですが…。

………サバエラになる原因といえばそれくらいしか見当たらないので………。
私が設置できれば、パーミッションがどうのと言っている友人には伝言はできますので。

本当にお手数ですがよろしくお願い致します。
投稿日時 - 2001-10-05 00:52:15
お礼コメント
hotahota2

お礼率 53% (21/39)

すみません。補足で実行権を不可と書いておりますが、「付加」しています、の間違いです。
まるきり正反対ですね。まぎらわしくてごめんなさい。
投稿日時 - 2001-10-05 01:00:51
  • 回答No.3
レベル13

ベストアンサー率 37% (419/1115)

そのURLから飛んでくる人だけを排除したいのであれば、No.1のmnabeさんが仰っている様に一つ前のURLを参照して対処すれば良いと思います。 チャット自体がCGIならば、参加時の処理の部分(HN入力等)等、初回のみ通る処理のところに一つ前のURL($ENV{'HTTP_REFERER'}に入っている)をチェックする処理を組み込みます。 そして該当するURLから来ていたらエラーペ ...続きを読む
そのURLから飛んでくる人だけを排除したいのであれば、No.1のmnabeさんが仰っている様に一つ前のURLを参照して対処すれば良いと思います。
チャット自体がCGIならば、参加時の処理の部分(HN入力等)等、初回のみ通る処理のところに一つ前のURL($ENV{'HTTP_REFERER'}に入っている)をチェックする処理を組み込みます。
そして該当するURLから来ていたらエラーページに飛ばす等の処理を行えば良いのではないでしょうか。
尚、この場合JavaScriptは利用していませんので無効にしても働きます。
ただし、当たり前ですが、ブックマーク等から直接飛んでこられた場合は無効ですが…。
補足コメント
hotahota2

お礼率 53% (21/39)

>参加時の処理の部分(HN入力等)等、
>初回のみ通る処理のところに一つ前のURL$ENV{'HTTP_REFERER'}に
>入っている)をチェックする処理を組み込みます。

チャット自体は確かにCGIですが、いわゆる「覗き」をしてログを
他所の掲示板に張り付ける被害です。
つまり上記「初回のみ通る処理」というのはいわゆる『チャット入室処理を弾く』であるので、解決になりません。
友人は『チャット入室処理を弾く』のではなく、いわゆる「チャット1、チャット2…」とチャット部屋が並ぶところで特定URLを弾きたいと考えているようです。
となると、普通にJavaScriptを綴るしかないのです。
ですが、JavaScriptを無効にされるなどの処置を取られてしまっているので無駄と化してしまっているようです。
投稿日時 - 2001-10-04 08:31:08
  • 回答No.2
レベル13

ベストアンサー率 40% (404/988)

hotahota2さん、こんにちは。 >特定URLからの閲覧者を弾く ということから、送信フォームからではない投稿ですね。 単純なスクリプトか何かでしょう。 自作CGIであればメッセージの投稿受付時に「特定のページアドレスからの送信」・・・つまり、自分の投稿フォームからの送信のみを処理をするようにすればよいと思います。さらに、投稿フォームにパスワードなどを施せば、良いのではないで ...続きを読む
hotahota2さん、こんにちは。


>特定URLからの閲覧者を弾く
ということから、送信フォームからではない投稿ですね。
単純なスクリプトか何かでしょう。

自作CGIであればメッセージの投稿受付時に「特定のページアドレスからの送信」・・・つまり、自分の投稿フォームからの送信のみを処理をするようにすればよいと思います。さらに、投稿フォームにパスワードなどを施せば、良いのではないでしょうか?

参考になれば。
でわ
補足コメント
hotahota2

お礼率 53% (21/39)

ちなみに嫌がらせは

投稿ではなく、いわゆるチャットの覗きをして、そのチャットの内容をあちこちの掲示板にはりつけるというものです。

チャット自体をすべてROM不可にしてしまえばいいのでしょうが、そうなると純粋な参加者さんたちが「今、入っていいのかどうか……」ということが分からなくなってしまいます。

パスワードも事情あってできない状態です。
投稿日時 - 2001-10-03 14:45:56
  • 回答No.1
レベル13

ベストアンサー率 33% (427/1283)

 意味違いがあると嫌ですので、やりたい事を整理します。間違っていたら、訂正して下さい。 ---  特定URLにはってあるURLから来る閲覧者を弾きたい。 ---  サーバを弄れない(CGIが使えない)って前提で書きます。  JavaScriptがONになっている必要性がありますが、飛び先のURL(一個前のURL)が解りますので、それを利用して特定のサイトからの閲覧者を弾く事は出来ます。 ...続きを読む
 意味違いがあると嫌ですので、やりたい事を整理します。間違っていたら、訂正して下さい。

---
 特定URLにはってあるURLから来る閲覧者を弾きたい。
---
 サーバを弄れない(CGIが使えない)って前提で書きます。

 JavaScriptがONになっている必要性がありますが、飛び先のURL(一個前のURL)が解りますので、それを利用して特定のサイトからの閲覧者を弾く事は出来ます。
JavaScript: document.referrer
 を、利用してみて下さい。

 しかし、完全では無いので、ちょっとわかる人だと直に、JavaScriptをOFFにしてしまうので、別の手段。
 まぁ同様の事を、CGIで行えば良いのですがね(^^;
補足コメント
hotahota2

お礼率 53% (21/39)

>完全では無いので、ちょっとわかる人だと直に、JavaScriptをOFFにしてしまうので、別の手段。まぁ同様の事を、CGIで行えば良いのですがね(^^;

JavaScriptでの防衛はしております。
しかし破られております。ちなみにその相手は不特定多数?らしく、しかし、とある場所からリンクして飛んでくるので、URLでのシャットアウトが必要なのです。
やはりCGIだとパスワード制にするしかないでしょうか?
投稿日時 - 2001-10-03 14:56:45
  • 回答No.7
レベル13

ベストアンサー率 37% (419/1115)

>ところで、#HTMLを書く所 の部分ですが、#から続けてHTMLを<html>から</html>まで書いていいのですよ すみません、言葉足らずでしたね。 「#」も削ってください。 恐らくサーバーエラーは消えるはずです。 Fetchでのパーミッション設定ですが、まずはサーバー側のファイル一覧が表示された状態で対象のファイルを選択します。 次に、[リモート]メニュー ...続きを読む
>ところで、#HTMLを書く所 の部分ですが、#から続けてHTMLを<html>から</html>まで書いていいのですよ

すみません、言葉足らずでしたね。
「#」も削ってください。
恐らくサーバーエラーは消えるはずです。

Fetchでのパーミッション設定ですが、まずはサーバー側のファイル一覧が表示された状態で対象のファイルを選択します。
次に、[リモート]メニュー→[Permissionの設定...]を選択します。
設定ダイアログが表示されたら、各ユーザー(オーナー、グループ、全員)の「検索/実行」欄にチェックを入れます。

この状態で再度お試し下さい。
補足コメント
hotahota2

お礼率 53% (21/39)


普通.cgiは「読む」と「検索実行」を全て、「書き込み」をオーナーのみをチェックだと思ったのですが。

一応、アドバイス通りの設定をしてみました。(ちなみに今までは上記方法で行っていました)
が、やはりエラーになります。

>すみません、言葉足らずでしたね。
>「#」も削ってください。
言葉足らずだなんてとんでもない!
お手数かけます。
2つとも#は取って大丈夫ですよね?

本当にお手をわずらわせてしまってすみません。申し訳ないかぎりです。
投稿日時 - 2001-10-05 11:28:36
  • 回答No.8
レベル10

ベストアンサー率 63% (61/96)

割り込み失礼します。 フリーのCGIで下記のようなものをみつけたので、参考にしてください。使ったことはないので、どこまで防げるかは不明です。 TOPページ>その他の中のアクセス制限>リンクブロッカー http://www-power.net/ ...続きを読む
割り込み失礼します。

フリーのCGIで下記のようなものをみつけたので、参考にしてください。使ったことはないので、どこまで防げるかは不明です。

TOPページ>その他の中のアクセス制限>リンクブロッカー
http://www-power.net/
補足コメント
hotahota2

お礼率 53% (21/39)

ありがとうございます。
初めて配付でリンクブロッカーを見ました。
ですが、常連さんのほとんどが問題ページにブックマーク(直リンク)をしているらしいのです。
今、ダウンロードしてみましたところ、直リンクはすべて弾かれるとなっております。(苦笑)
となると、このCGIはちょっと今回の件では難があるようです。
投稿日時 - 2001-10-05 11:37:00
  • 回答No.12
レベル13

ベストアンサー率 37% (419/1115)

>A__さん >↑の MESSAGE の次に空白行が必要だと思いました。 とりあえずそのままで動作していますが…。(^_^; 私が参照している書籍には記載がなかったのですが、環境によってはNGだとか言うと仕事上致命的なので、それに関する注意が書かれているサイトや書籍等がありましたら教えて頂ければ幸いです。 よろしくお願いします。
>A__さん

>↑の MESSAGE の次に空白行が必要だと思いました。

とりあえずそのままで動作していますが…。(^_^;
私が参照している書籍には記載がなかったのですが、環境によってはNGだとか言うと仕事上致命的なので、それに関する注意が書かれているサイトや書籍等がありましたら教えて頂ければ幸いです。
よろしくお願いします。
  • 回答No.13
レベル10

ベストアンサー率 47% (22/46)

naturalさん、お返事ありがとうございます。 print<<"EOF" という書式は最後に改行が必要だということから 実験もせずに書き込みしました。 正常に動いていたんですね。 お騒がせしました。
naturalさん、お返事ありがとうございます。
print<<"EOF"
という書式は最後に改行が必要だということから
実験もせずに書き込みしました。

正常に動いていたんですね。
お騒がせしました。
  • 回答No.11
レベル10

ベストアンサー率 47% (22/46)

あんまり自身がない発言だけど、 No5 の naturalさんのサンプルソースの 終わりの方に空白行が抜けているような気がしました。 ~ <H1>現在メンテナンス中です</H1> </BODY> </HTML> MESSAGE } ↑の MESSAGE の次に空白行が必要だと思いました。 ...続きを読む
あんまり自身がない発言だけど、
No5 の naturalさんのサンプルソースの
終わりの方に空白行が抜けているような気がしました。


<H1>現在メンテナンス中です</H1>
</BODY>
</HTML>
MESSAGE
}

↑の MESSAGE の次に空白行が必要だと思いました。
補足コメント
hotahota2

お礼率 53% (21/39)

ありがとうございます。
一応、こちらは空白行を入れてました。
が、やっぱりサーバーエラーになります。
友人も同様だそうです。
投稿日時 - 2001-10-05 23:40:04
13件中 1~10件目を表示
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ