掲示板のCGIにアクセス制限を付け加えたいのですがどういう文章を付け加えたらいいでしょうか?もしホスト名で制限できるのであればそちらでお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2003/06/10 18:32:15
  • 終了:--

回答(7件)

id:mizox No.1

mizox回答回数33ベストアンサー獲得回数02003/06/10 18:39:22

ポイント15pt

http://www.hatena.ne.jp/1055237535

掲示板のCGIにアクセス制限を付け加えたいのですがどういう文章を付け加えたらいいでしょうか?もしホスト名で制限できるのであればそちらでお願いします。.. - 人力検索はてな

URLはダミーです。

ご質問の掲示板はレンタルCGIでしょうか?

それともオリジナルの自作CGIでしょうか?

レンタルなら、その借りもとのFAQを見れば

だいたいアクセス拒否についても載っていると思います。

自作であれば、perlで書いたのかとか、もう少し情報があるとありがたいです。

id:miruki89

配布していたものをダウンロードしてきたものです。

そういうものが載ってないサイトなのです。

2003/06/10 19:25:26
id:chorobe No.2

chorobe回答回数64ベストアンサー獲得回数02003/06/10 19:11:23

ポイント15pt

文章を付け加えるというのがよくわからないのですが。

見てみてください。

あと.htacessというのでも制限できます。サーバによっては設置出来ない場合もあります。

id:miruki89

ありがとうございます。後者にありました。

探していたのは$hostと環境変数REMOTE_HOSTまたはREMOTE_ADDRが一致すればアクセス拒否するという感じです。

しかし・・・以下の様な文をCGI中の最初の方に(require ’./jcode.pl’;の直下)に加えたのですが500InternalServerErrorになりました。

どうしてでしょう?

#禁止したいホスト名またはIPアドレス

my $deny_hosts = ’192.168.1. .crack.ne.jp’;

 

#チェックルーチン

foreach my $host (split(/[¥s]+/,$deny_hosts)){

if($ENV{REMOTE_HOST} =~ /¥Q$host¥E/ || $ENV{REMOTE_ADDR} =~ /¥Q$host¥E/){

die ”アクセス禁止です。¥n”;

}

}

2003/06/10 19:50:56
id:izumi0301 No.3

izumi0301回答回数8ベストアンサー獲得回数02003/06/10 19:29:18

ポイント14pt

こういうところから、アクセス制限(こちらでいうと「最後の良心」あたり)のCGIをダウンロードしてきて、アクセス制限だけで1つのCGIを鯖に上げて、そのアクセス制限CGIを呼び出すタグ(こちらの場合は、javaのスクリプト作成コーナーがある)を、掲示板表示用のHTMLに貼ればいいと思います。

うちはそうしてます。

id:miruki89

そのアクセス制限CGIを呼び出すタグがわかりません。

Javascriptでの書き方を教えてください。

2003/06/10 20:03:26
id:izumi0301 No.4

izumi0301回答回数8ベストアンサー獲得回数02003/06/10 20:21:48

ポイント14pt

先ほどの答えの補足というか修正です。

java書く必要なかったです(汗)

こちらの「導入」のところを読んでいただくとおわかりになるかと思います。

id:miruki89

さっそくやってみました。

自分を対象にテストしたのですが何故か拒否されませんでした。何故でしょう?

また元のCGIに書き足すような感じにするにはどうすればいいのでしょうか?

2003/06/10 22:05:09
id:chorobe No.5

chorobe回答回数64ベストアンサー獲得回数02003/06/10 20:54:52

ポイント14pt

Perlの構文チェックができます。よく使ってます。

Content-type: text/html¥n¥n;

がないとエラーがでそうですね。私はよく書き忘れますが。。ついでに、文字コードも指定して。

初心者なのでこれくらいしかアドバイスできません〜

(++)がんばってください〜

id:miruki89

ありがとうございます。

参考にします。

2003/06/10 22:06:47
id:yuyumom No.6

yuyumom回答回数36ベストアンサー獲得回数02003/06/10 23:55:23

ポイント14pt

わたしはTheRoomのAccess Denialを使っています。

アクセス制御をしたいCGIに一行足すだけで、簡単に制御が出来ます。

id:miruki89

その代わり参加者全員のパスを入力してやらなきゃならないですよね・・・

それよかさっきの自分を対象にしたアクセス制限のテスト成功しました。最後の良心のやつです。ありがとうございます。

あとは2番目の記事に返信つけた問題がまだ残っています(CGIに直接文を付け加えるやつ)

Content-type: text/html¥n¥n;

を加えてみたのですがやはりインターナルサーバーエラーでした。

何が悪いのか原因がわかりません。

とりあえずIPでのやり方なら知っているのですがホストの方が何かと便利なので・・・。

ちなみにこれがIPでの制限方です。

#-----同じようにいくつも追加できます。

#$host[0] = ”219.165.163”;

#$host[1] = ”219.164.34”;

#$host[2] = ”61.211.130”;

#$host[3] = ”218.223.153”;

#$host[4] = ”218.47.190”;

#$host[5] = ”211.10.254”;

#$host[6] = ”219.114.25”;

#$host[7] = ”61.214.42”;

#$host[8] = ”61.207.64”;

#$host[9] = ”219.160.95”;

#$host[10] = ”210.255.60”;

#$host[11] = ”***.***.***”;

#local($match) = 0;

#foreach (@host) {

#if ($ENV{’REMOTE_ADDR’} =~ /$_/) { $match=1; last; }

#}

#if ($match) {

#print ”Content-type: text/html¥n¥n”;

#print ”<html><body>アクセスできません</body></html>”;

#exit;

#}

#

#-----ここまで

どなたかこれをホストで行う方法わかりませんか?

2003/06/11 02:57:58
id:theramic No.7

theramic回答回数17ベストアンサー獲得回数02003/06/11 11:00:10

ポイント14pt

URLはダミーです。すみません。

Perlは書き方を少しかじっただけなので、そのコードが正しいかどうかはわかりませんが、

’192.168.1. .crack.ne.jp’

[¥s]

/¥Q$host¥E/ || $ENV{REMOTE_ADDR} =~ /¥Q$host¥E/

”アクセス禁止です。¥n”

text/html¥n¥n

これらの部分のシングルクォーテーション、ダブルクォーテーション、¥記号が全角になっています。このまま書いてあるとすれば構文エラーで500が出ると思います。

id:miruki89

両方ともやってみましたが500のサーバーエラーでした。(当然半角でやってみましたが)>5,7の回答者の方

僕の2と6の返信コメントのコード内で修正箇所あるいはホストへの変更法かる方教えてください

2003/06/13 13:18:22

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません