電子書籍の厳選無料作品が豊富!

はじめまして、自分のホームページを特定地域の人に見せたくない場合の
.htaccess記述についての質問ですが、特定地域からのアクセスを制限する
記述は分かったのですが、自分がその地域に住んでいた場合
自分だけを許可する記述がわかりません。。。。
例えば、日本に住んでいながら、自分以外の日本からのアクセスを
制限するといった感じです。
一応、自分が考えてうまくいかなかった記述を記載しておきます。

order allow,deny
allow from all
allow from 000.000.0.000/00 ←自分のIPアドレス
deny from .jp

どなたか分かる方、よろしくお願い致します。

A 回答 (4件)

XREAの少なくとも無料のだと規約ページ


http://www.xrea.com/?action=rules に禁止事項として
>日本語以外の言語を主体としたコンテンツを公開すること。
とあります
ユーザー掲示板を見ると アクセス制限自体は出来るようですが
日本からのほとんどのアクセスを制限すると、上記禁止事項と同様と判断されるかもしれません
http://sb.xrea.com/showthread.php?t=8228

それからhttpd.confについては、、書き方が悪かったかな?
>httpd.confでHostnameLookups Onに成っていればの前提ですが
  ↓
サーバーの管理者がhttpd.confでHostnameLookups Onに設定してあればの前提ですが <=と言うことです

この場合のサーバーの管理者とはあなたのことではなくXREA.Comを運営している業者がわの管理者です
あなたのPCにApacheを入れてもXREA.COM上のアクセスには関係有りませんよ

XREAなどのスペースを借りるのではなくて自分でサーバーを立てたり
専用サーバーを1台丸ごと借りるような場合は、自分でhttpd.confを設定します

XREAを利用しているのなら #2の投稿は
>CGIが使えるのなら <=この行以下をお読みください

要するに あなたがXREAのサーバーにアクセスしたときのアドレスが
間違いないのか が重要です。
    • good
    • 0

xrea ならhttpd.confを編集する必要はないはずです。

(と言うか、編集できないはずです)

なんとなく、NAT環境でローカルIPアドレスを記述している or DHCP環境なのにIPアドレスを1個だけピンポイントで設定している or IPアドレスの記述方法を間違えている、のいずれかまたは複合だと思います。

プロバイダと固定IPアドレスサービスを契約していない場合、通常はDHCPです。
また、ルータ越しならば通常は前者のケースに(も)該当します。

この場合、グローバルIPアドレスで xxx.xxx.xxx.0/24 や xxx.xxx.0.0/16 等のように指定する必要があります。(xxx部分までしか見ないようにする)
または xxx.dokoka.tokyo.provider.ne.jp のようなホスト名が付けられることがわかっていれば .dokoka.tokyo.provider.ne.jp のように先頭の方を削っていっても出来たと思います。

上記に該当しない(固定IPアドレスが割り振られている)場合はピンポイントで指定できるので、 /xx の部分は要りません。

どうしてもダメなら、BASIC認証を使う方法も考慮に入れてみてください。
    • good
    • 0

httpd.confでHostnameLookups Onに成っていればの前提ですが


#1さんので間違いないと思いますよ

deny でホスト名指定
allow でIPアドレス指定だとうまくいかないのかと思って
自分のサーバーで試してみましたが問題ありませんでしたし

>IPアドレスも何度も確認してまちがいありません。
と有りますけど .htaccess を置いているサーバー上で試されたのでしょうか?
CGIが使えるのなら

#! /usr/bin/perl
print"Content-type: text/html; charset=Shift_JIS\n\n";
print"<html>\n<body>\n<H1>TEST</h1>\n";

foreach(sort(keys %ENV))
{if(/^(REMOTE|HTTP)/i)
{print" \$ENV{'$_'} = $ENV{$_} <br>\n";} }
__END__
#補足要求1:こんなのを置いてアクセスし $ENV{'REMOTE_ADDR'} の値を確認してください
尚、httpd.confでHostnameLookups Onに成っている場合は
$ENV{'REMOTE_HOST'} = ホスト名 も表示されます

それから .htaccess に

order allow,deny
allow from all
とだけ書いて まず普通にアクセスできることを確認します 
#↑補足要求2

次に
order allow,deny
allow from all
deny from 自分のIPアドレス
と追加して 403が返る事を確認します。
#↑補足要求3:

order allow,deny
allow from all
deny from 自分以外ののIPアドレス
と書き換えて正しくアクセスできることを確認します
#↑補足要求4:

この回答への補足

返信ありがとうございます。
初心者なもので、httpd.confでHostnameLookups On のことを
知りませんでした。

いろいろ調べてみたのですが、httpd.confの設定を変更するためには
Apacheをインストールして、設定値を変更するという流れで
いいのでしょうか?
今使っているサーバーはXREAです。

.htaccessの記述だけで簡単にできると
どのサイトにも書いてあったので、意外と難しいのだなと
悪戦苦闘しております。

補足日時:2008/06/14 19:40
    • good
    • 0

順番を逆にすれば出来ると思います。



order deny,allow
deny from .jp
allow from 000.000.0.000/00 ←自分のIPアドレス

参考URL:http://www.shtml.jp/htaccess/host.html

この回答への補足

_himajin_ 様へ

アドバイスありがとうございます。
早速、そのように設定してみたのですが
やはり、できません。
403エラーが出て、自分自身もはじかれているもようです。
IPアドレスも何度も確認してまちがいありません。

他の記述方法とかご存知の方がいらっしゃれば
アドバイスお願い致します。

補足日時:2008/06/14 04:13
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます!
いまだ、アクセス制限ができませんが
がんばっていろいろ調べています。

お礼日時:2008/06/14 19:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!