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

質問させて頂きます。
よく、時間によって違うHTMLを表示させるというスクリプトがあると思うのですが、先日、とあるサイトさんで時間限定のページをお気に入りしてみたんです。
一応そのページはデスクトップ上に別名保存もしてみました。
で、お気に入りのURLを全く違う時間に見たら、「今の時間は閲覧不可です」という、違うHTMLになっていました。
当方MACなので、どうなってるのか別名保存したもののソースを見ようと思ったら(htmlの拡張子をつけて)、ソースの表示が出来ないのです。(画像とかは見れますが。)

ここで不思議に思ったのですが、「時間によって違うHTMLを表示させる」というスクリプトなら、その時間に表示される(呼び出されたhtml)のをブックマークすれば、普通どんな時間でも見れると思うのですが・・。
呼び出されたもの自体になにかスクリプトが埋め込まれているのでしょうか?

実は当サイト、コンテンツの直リンク対策に悩んでいまして、「これは使える!」とそこのサイトさんを見て思ったのです。

わかりにくい質問で申し訳ありませんが、宜しくお願い致します。

A 回答 (3件)

>コンテンツの直リンク対策に悩んでいまして



直リンク対策と時間による表示変更は関係ないような気もしますが・・・。
時間による場合は、現在時刻を取得して表示を変えるだけでOKでしょう。

直リンクの場合は、環境変数「HTTP_REFERER」を取得して、リンク元のURLが自分が張ったものかどうか(もしくは自分のサイトかどうか)チェックして表示を変えるのが良いかな。
手段としては、CGIやSSI、PHPなどサーバサイドでチェックする法になるでしょう。
コンテンツの内容は、CGIやPHP等で直に表示するのではなく、別ファイルで保存しておいて、例えばCGIの引数で渡して表示させるようなことをすれば良いでしょう。
ただ、そのファイルに直接リンクを張れるようだと同じことになるので、リンクの張れない場所に置くとか、引数からファイル名を推測できないようにするとか、色々仕組みは考えられますが。。。
やるのであれば、CGIやPHP等の知識が必要になりますね。
CGIならほんの数行で実現できる程度のものですが。。。

いずれにしろ、各コンテンツへのアクセス数が多い場合、サーバ側にいらぬ負荷がかかることになりますが。

あ、JavaScriptでもやろうと思えばできなくはないな・・・・
    • good
    • 0
この回答へのお礼

御回答、ありがとうございます。
何やら難しそうですね・・。

CGIやSSIの事は更にさっぱりわからないで、現在時間を取得をしてやる方法(JavaScriptで)で試しています。
何とか上手くいったのでこんどサイトで試そうかと思っています。
詳しい解説、どうもありがとうございました。

ソースを一回前に載せた事があったのですが、回答がなかなかつかなくて削除されたようで、それから四苦八苦して何とかやってみています。(^^;)
CGIやOHOもやってみるといろいろ実現出来てよさそうですよね。やってみようかなと思っています。

お礼日時:2002/07/17 18:29

ローカルのマシンのそのときに割り当てられたIPを元にhttpdを動かして


そこにリダイレクトするようにしてリダイレクトできなかった場合エラーの
ページにアクセスさせる、なんて方法なら簡単にできますね。
別にリダイレクトする先がローカルマシンじゃなくてもいいですが。
最初にアクセスしたURLのまま別のページに飛ばすのもcgiやサーバサイドJAVA
ならできますし大外枠を切っただけのフレームでもそうなりますね。

直リンク対策ってなんで必要なんでしょうか?
とりあえずロボット避けの設定はしたほうがいいですね。
    • good
    • 0
この回答へのお礼

御返答、ありがとうございます。
何とか四苦八苦してやってみて、今テストしています。

ロボットよけ・・・!それは盲点でした。それもやっておきますね。ありがとうございました。大変助かりました。

お礼日時:2002/07/17 18:31

こんにちは。


参考URLを参考にして下さい。
ここでは日付関数を使用しているので、これを時間に直せば………。
いかがでしょう?

(Javaいら)
http://ad.il24.net/~ura/index.htm

参考URL:http://ad.il24.net/~ura/java/today_change.htm
    • good
    • 0
この回答へのお礼

御返答ありがとうございます。
このサイトさん、知ってますよ。実はいくつか使わせてもらってます。(笑)
スクリプチいじると悪いかなと思って、諦めていたんですが。
今度聞いてみようと思います。ありがとうございました。

お礼日時:2002/07/17 18:34

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