まずそのhtmlはどうやって設置するのでしょうか
・プロバイダとかyahooとかが提供してるwebスペースなのか
・レンタルサーバーなのか
・自分のマシンをサーバーにしてapacheとかhttpdでやるのか
これによってだいぶ変わってくると思います
・プロバイダとかyahooとかが提供してるwebスペースなのか
まず、そこの規約としてアクセス元での制限を許可しているか確認してください
OKだった場合でもやれることは限られてます
javascriptでUAを判定して、許可国以外は別のページに飛ばしてたりとか
http://d.hatena.ne.jp/hororiholy/20061213/p1
・レンタルサーバーなのか
・自分のマシンをサーバーにしてapacheとかhttpdでやるのか
apacheの場合なら直接UAを判定して弾くことが出来ます
http://fdays.blogspot.com/2009/03/apache-user-agent.html
他jspで実装する方法などいくつか考えられますが
何にしてもどういう環境で行うのかがないと的確な答えが導きにくいです・・
簡易的な方法ですが、
サーバーに、".htaccess"ファイルを置いてアクセス制限できるのであれば、
以下のような内容で、".htaccess"という名前のファイルを作れば、
アクセス制限できます。
order allow,deny
allow from all
deny from .jp
アクセスする人のアドレスが、.jpで終わる場合に、アクセスを拒否します。
抜け道は、いくらでもあるので、完璧にはなりませんが。
日本とアメリカ以外の国はどうするのでしょう?
WebサーバにApacheをご利用でしたら、.htaccess設定ファイルに、アメリカのIPアドレスをallowし、日本のIPアドレスを拒否するdenyを書けばできます。
具体的な手順は「特定のホストのアクセスを制限する」を、両国のIPアドレスの範囲は「世界の国別 IPv4 アドレス割り当てリスト 」をご覧ください。
.htaccessを用いて、日本に割り当てられているIPアドレスをすべて拒否します。
これで日本からのアクセスはすべて拒否です。
日本に割り当てられているIPアドレス空間の一覧が掲載されているURLを教えてください。よろしくお願いします
アメリカに割り当てられているIPアドレスがわかるのなら、
それだけを許可して、それ以外は拒否すると
アメリカOK、アメリカ以外&日本NGとなります。
IPアドレスの割り当てはちゃんと決まってますので調べればわかります。
jpで終わるかどうかではかなりアバウトです。
日本のクライアントでもjp以外のところがいっぱいありますし、ドメインが割りあたってない場合もありえます。
レンタルサーバーです