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

初めて書き込みします。
実は、この題名に書いた内容、
もともと無理と思っていたのですが、
http://www.komiya.co.jp/optanqfx/
のサイトの中で
「名前を付けて保存」をしたら、
全て「アクセス拒否」の画面だけ
ダウンロードになってしまいました・・・。
当然、右クリックやら文字参照やら
直接アクセス拒否やら想像できることは
していますが。
保存を制御する関数(PHPやJavaScript、
または、.htaccessの命令等)でも
あるのかと思い、色々調べましたが、
有効なものはありませんでした。
かなりショックを受けています。
どうして出来るのでしょうか?
ここで上記の方法を確認されてから、
コメントをお願いします。

A 回答 (4件)

わかりました。



この仕組みは特別な技術を使用しているものではありません。

ブラウザでHPをみると、通常前のページの履歴(Referer)が送信されます。これを判別しているようです。ですのでRefererを送信されない環境ではみることができないはずです。細かく見ていないのでわかりませんがReferer以外の要素もあるかもしれません。

閲覧させてもらったページは恐ろしく凝ったページだったので色々と仕掛けがしてありました。

IEなどで保存する時は、前のページ(Referer)を送信していないからだと思います。

自分も昔考えましたが、完全に守ることは不可能です(すべて画像にするしかないと思います)。
    • good
    • 0

私が書いたのは、フレームページ


http://www.komiya.co.jp/optanqfx/frame.htm
自体が直接表示できないということです。確認いただきましたか? これが直接呼べないのだから、保存できないのは当然じゃないかということです。実際、入口のページは保存できますし(プロテクトしていないだけかもしれませんが)。

この回答への補足

そうですね・・・。
恥ずかしながら・・・、
気付きませんでした。
そうなると、保存できない以前の問題として、
<body>タグの間に
<frameset>を使わないでも
表示させるにはどうしたらいいかということに
なりますね・・・。
今のところ、まだ想像が出来てません。
ご指摘、ありがとうございました。

補足日時:2004/12/11 16:29
    • good
    • 0

実際にはじかれているということは、ブラウザが保存するときに送る要求が、通常のページ表示とは異なるという可能性がひとつ。

詳細は分かりませんが。
あるいはこのサイトは構成が全てフレームになっていますが、そのフレームは通常のトップページからしか表示できない(下部のコンテンツはフレームからしか呼べない)という、単純なリファラチェックなのかもしれません。実際、フレームを直接呼ぼうとするとエラーになりますし。

ご自身でも何らかのコントロールをなさりたいのであれば、無償で利用できるというのですから、申し込んでみればいかがでしょうか。

この回答への補足

コメントありがとうございます。
直接アクセス拒否は
親記事でも書いたように、
PHP等でもすることができますから、
表示だけに関して言えば、そこまで
驚きません。
ただ、手間がかかるということだけですが。
しかし、保存に関しては、普通、右クリック禁止を
しているところでも、それをすり抜けて
保存できます。
しかし、ここのサイトはそれができません。
ということは、保存の行為をする際に
何かの切り分け(関数等)をして、保存拒否に
至らせているわけです。
それがあるなら、ここまで悩まないのですが・・・。
ネット上で幾ら調べてもそれに合致しそうな
ものはありません・・・。

補足日時:2004/12/11 13:54
    • good
    • 0

PHPだと思います。

私も仕組みはわからないのですが、ウチのサイトは「多重ダウンロードのみ防止」をしています。まだ調整中ですが「アクセス禁止の画面」にしたり「ポップアップで警告」したりといろいろできるようです。
やり方は人それぞれですのでApachiのデータのやり取りの仕組みやポートの仕組みがわかっていれば比較的簡単にPHPで組むことができるそうです。

今、ウチのシステム管理の人に聞いたら即答で「できる」といわれました。「サンプルソースは必要か?」と聞いたら「全部自分で組んじゃうからいらない、人の作ったものより自分のやり方の方が早い」とのことでしたよ。

この回答への補足

コメントありがとうございます。
ただ、文面が抽象的ですので、
もう少し細かく書いて欲しいです。
多重ダウンロードのみ防止をしていると
いうことは保存をしようとする際に
何らかの関数等を使って、その行為に
大して、拒否しているのですよね。
その切り分けになるものがあれば、
それから色々想像が出来ますが、
今の段階では、「保存」に対しての
切り分ける命令(関数)が分からないので、
悩んでいます。
そこらへんの詳細を宜しくお願いします。

補足日時:2004/12/11 13:12
    • good
    • 0

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