ウェブサイトから画像や動画ファイルをダウンロードしないようにするにはどうすればよいですか?出来ますか?これを行う最良の方法は何でしょうか?
いいえ、できません。
あなたがそれを見ることができれば、あなたはそれを得ることができます。
あなたのサイトに投稿しないでください。
それ以外の場合は不可能です。
クライアントで表示するには、画像をダウンロードする必要があります。多くのシナリオでは、ビデオも同様のケースです。プロキシスクリプトをセットアップしてファイルを提供することはできますが、それでもユーザーが自分のコピーを取得できないという問題は解決しません。このトピックの詳細については、質問 フラッシュビデオのダウンロードを防止/困難にする方法 を参照してください。
もっと哲学的なコメントを追加したいと思います。インターネット、特にWorld Wide Webの全体的な目的は、データを共有することです。他の人に画像/動画/ドキュメントをダウンロードさせたくない場合は、ウェブに掲載しないでください。本当に簡単です。既存の設計に独自のルールを課すことができると考える人が多すぎます。 Webにコンテンツを投稿し、その配信を制御したい人は、ケーキを食べて食べたいと考えています。
要するに、いいえ。誰かがブラウザで画像またはビデオを表示できる場合、定義上、それをダウンロードしています。これがWebの仕組みです-クライアントサーバーベースです。ブラウザ(クライアント)で表示できるものはすべて、リモートWebサイト(サーバー)からコンピューターに転送されています。
標準のHTMLでは、とにかく知りません。
あなたは本当に言っていませんでしたが、私はあなたが人々に問題を抱えていると推測していますあなたのコンテンツへの深いリンク。それが事実であり、サーバー側のコードにオープンである場合、私はこれがうまくいくと信じています:
この :
しかし、それはユーザーがディープリンクするのを防ぐのに役立つかもしれない実行可能なプロセスの一般的な概要です。
多くの人が言っているように、誰かがコンテンツをダウンロードするのを止めることはできません。できません。
しかし、あなたはそれを難しくすることができます。
透明なdiv
で画像をオーバーレイできます。これにより、人々がそれらを右クリックできなくなります(または、div
の背景を画像に設定しても同じ効果が得られます)。
クロスリンクが心配な場合(つまり、他の人が画像にリンクしている場合)、HTTPリファラーを確認し、自分のものではないドメインからのリクエストを「他の何か」にリダイレクトできます。
PHPを使用している場合、最良の方法は.htaccess
、検討中のファイル、画像、動画を個別のフォルダ/ディレクトリに配置し、新しい.htaccess
以下のファイルをこのディレクトリに保存:
RewriteEngine On
RewriteCond %{REQUEST_URI} \.(mp4|mp3|avi)$ [NC]
RewriteCond %{HTTP_REFERER} !^http://sample.com/.*$ [NC]
RewriteRule ^.* - [F,L]
最初の行%{REQUEST_URI}
は、Webブラウザまたはcurl
を介したファイルの取得を防ぎます。 2行目%{HTTP_REFERER}
は、HTMLタグを使用したimahe/videoへのアクセスを防ぎます<img>
または<video>
例外を除くすべてのWebサイトから!
代わりにhttp://sample.com/
これは通常、Webサイト自体でなければなりません。
また、私の質問と受け入れられた答えを見ることができます here ブラウザー側のより多くのトリックのために。
ブラウザはコンテンツ(テキスト、画像、ビデオ)を表示するためにコンテンツを転送する必要があるため、Webサイトが表示されるとき、データは既にクライアントのコンピューター上にあります。これまでの回答では、経験のないユーザーがコンテンツを取得するのを困難にする方法についてはほとんどアドバイスを提供していません。ここにいくつかの指示があります:
<DIV>
_または透明な画像でこの特定のコンテンツをオーバーレイします(この質問に対するいくつかの回答で説明されています)window.open()
経由でWebサイトを開きます。display:none
_であることをブラウザーに伝えます(_@media print { body, div, p { display: none } }
_のようなもの)<img>
_タグを使用しないで、画像を_<DIV>
_の背景として設定します<meta>
_タグを使用するか、サーバー配信で適切なヘッダーを設定する)ため、ブラウザキャッシュに保存されません(クライアントのコンピューターで即座にアクセス可能)。onmousedown
イベントを画像に追加します。たとえば、著作権警告を表示します。繰り返しますが、経験のあるユーザーがコンテンツを取得するのを止めることはありません(たとえば、スクリーンショップを作成し、オプションでOCRを実行します)。ブラウザの開発者ツールを使用するか、JavaScriptを使用せずにWebサイトを使用するのと同じくらい簡単な場合もあります。しかし、それは経験の浅いユーザーに苦労を与えるので、彼らはそこからつかみやすいいくつかのソースを探すかもしれません。
また、上記の手法は、ページのコンテンツを読み取るときに検索エンジンに影響することに注意してください(ブロックすることに興味がある場合は、_robots.txt
_で始めてください)。
上記のリストを補完する他のアイデアをありがとう!
また、PhotoshopまたはLightroom 3で画像に透かしを追加しても問題ありません。透かしが明確で、画像の目立つ場所にあることを確認してください。そうすれば、それがダウンロードされていれば、少なくとも広告は手に入ります!
これは、将来の誰かが疑問に思っている場合に私がそれを行う方法です。
これをルートサーバーの.htaccessファイルに配置します。
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com.*$ [NC]
RewriteRule \.(mp4|avi)$ - [F]
これにより、たとえばdomain.com/videos/myVid.mp4にアクセスして、そこから保存することができなくなります。
可能性を減らすことはできますが、排除することはできません...
画像またはビデオをフラッシュ形式で保存します。よく働く。
フォルダーまたはファイルに読み取りアクセス権がないようにマークすることができます(メインWebサーバーのいずれかがこれをサポートしています)。これにより、外部へのアクセスレベルなしでサーバーに保存できます。他の人が後でダウンロードするための画像を生成するサービスがある場合、またはFTPアクセスにWebアカウントを使用しているが、ファイルを誰にも見られたくない場合は、これを行うことができます。 (つまり、.bakファイルをサーバーにアップロードして、他の誰かが再びFTPダウンできるようにします)。
しかし、他の人が言ったように、違法な使用を阻止するツールはありますが、人々が画像やビデオを見ることができるが、それらをローカルに保存できない著作権領域に入ることは完全に不可能です。
いいえ、ちがいます。あなたは右クリックなどをブロックするかもしれませんが、誰かがそれをダウンロードしたい場合、彼はそうします、私を信頼してください;)
写真やビデオを含むページを表示するとすぐに、アイテムはブラウザの一時フォルダーにダウンロードされます。したがって、ダウンロードしたくない場合は投稿しないでください。
これは古い投稿ですが、ビデオの場合は、MPEG-DASHを使用してファイルを難読化することを検討してください。さらに、別個のストリーミングサーバーを必要とせずに、ユーザーに優れたストリーミングエクスペリエンスを提供します。この投稿の詳細: Webページでビデオ/オーディオのダウンロードを無効にする方法
画像を背景画像に設定し、透明な前景画像を作成できます。
画像/ビデオの盗難を止めることはできませんが、通常のユーザーにとっては難しくすることはできますが、私たちのようなプログラマーにとっては難しくすることはできません(Webプログラミングをほとんど知らない泥棒を意味します)。
あなたが試すことができるいくつかのトリックがあります:
1.)YouTubeや http://www.funnenjoy.com のような他の多くのサイトとしてFlashを使用します。
2.)Divのオーバーラップまたは背景写真の設定(ただし、感覚がほとんどないユーザーは、検査要素またはその他の開発者オプションを開くことで、すべてのリソースを簡単に節約できます)。
3.)右クリックとCTRL + Sなどの特定のキーやJavaScriptで可能なその他のキーを無効にできますが、主な欠点は、ユーザーがJavaScriptを無効にするとすべてのトリックが失敗することです。
4.)オンラインディレクトリなしに画像を保存し(Webサーバーへのフルアクセスがある場合)、PHPのようにサーバー側言語でそのファイルを読み取り、画像/ビデオが必要なときに毎回画像IDを変更しますアクセスするたびにIDを自動的に変更できるスクリプトを作成することもあります。
5.)Apacheで.htaccessを使用して、他のサイトによる画像のリンクを防ぎます。このサイトを使用して、.htacessを自動的に生成できます http://www.htaccesstools.com/hotlink-protection/
透明なgif 1px x 1pxを<body>
タグのすぐ内側に挿入します。
<body><img src="route-to-images/blim.gif" class="blimover">
次に、これでスタイルを設定します。
.blimover {
width: 100% !important;
height: 100% !important;
z-index: 1000 !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
}
これにより、ページからクリック機能が削除されますが、ユーザーがコンテンツを盗むのを確実に防ぐことができます!
同じ名前を<div>
、<section>
、<article>
などに適用し、それに応じて名前を付けるだけで、コピーや画像のリッピングを防ぐことができます。
しかし、何もスクリーングラブを止めることはできません... ...
それは、通常のユーザーがコンテンツをダウンロードしようとする最も便利な方法であるため、ウェブページを右クリックしないようにすることが最善の方法だと思います。コンテンツがインターネット上にあると、すでにパブリックドメインにあることを意味するため、コンピューターオタクやハッカーの人々がダウンロードするのを止めることができます...
ユーザーが表示できる画像はすべてコンピューターに保存できること、およびそれに対してできることは何もないことを認めました。ユーザーが見ることになっていない他の画像へのアクセスをブロックしたい場合、私は実際にそのようにしています:
利点:
欠点:
許可されたユーザーのみがコンテンツを取得したい場合、クライアントとサーバーの両方が暗号化を使用する必要があります。
ビデオとオーディオの場合、コンテンツ保護と暗号化を備えたAzure Media Servicesが適切なソリューションです。ブラウザにAzureメディアプレーヤーを埋め込み、Azureからビデオをストリーミングします。
ドキュメントとメールについては、特別なクライアントを使用するAzure Rights Managementをご覧ください。残念ながら、1回限りの使い捨てコードを除き、通常のWebブラウザーでは現在機能していません。
ただし、これがどれだけ安全かはわかりません。他の人が指摘したように、セキュリティの観点から、ダウンロードされたバイトが「攻撃者の」RAMに格納されると、それらは消えてしまいます。この場合、100%安全なソリューションはありません(間違っている場合は修正してください)。ほとんどのセキュリティと同様に、目標はそれを難しくすることであるため、99%は気にしません。