Web サイトを作成し、サーバー上の特定の場所に画像をアップロードすると、リンクを介してその画像に直接アクセスでき、他の人がリンクを取得すると、ブラウザに絶対パスを直接入力して画像を見ることができます。 。どうすればそれを防ぐことができるでしょうか?
伊谢尔伦2017-05-16 13:10:02
投稿者は、あなたが言及した問題を解決するためのトークンアンチリーチング機能を備えたYoupaiyunのクラウドストレージを試すことができます。この記事は、トークンの反リーチングを理解するのに役立つように提供されています。
おすすめ記事:トークンアンチリーチングについて詳しく解説
某草草2017-05-16 13:10:02
画像フォルダーが直接外部に公開されないように画像サーバーを改修します。 画像サーバーに HTTP プロキシ サービスを設定します。画像にアクセスする URL には、http://www.imgserver.com/test.jpg?t=xT5112XabseFg0
、
t パラメータは、自分で設定した暗号化アルゴリズムによって生成され、このパラメータの作成時間が含まれます。
このリクエストを受信した後、サーバーはトークンを復号化し、そのトークンが 10 秒以内に作成された場合 (有効期間は任意に設定できます)、イメージ情報を返します。それ以外の場合は、アクセスが拒否されます。
このような画像リンクには有効期限の概念があり、それを使用すると、正当なパラメータを使用して画像をロードし、通常どおりユーザーに表示できます。このとき、ユーザーが画像アドレスをコピーしてブラウザで直接アクセスすると、有効期限が切れている可能性があり、当然開けません。
さらに、ホットリンクを防ぐためのより簡単な方法もあります: (もちろん、上記の方法と組み合わせて使用することもできます)
http リクエストによって送信されるリファラー情報を確認します。それが自分の Web サイトのドメイン名と一致しない場合、または空の場合 (つまり、Web サイトで画像リクエストが開始されていない場合)、アクセスは許可されません。
習慣沉默2017-05-16 13:10:02
1. 最も愚かな方法は、画像ファイル名を暗号化することです。これでは、リンクの盗用を防ぐことができません。 3. ミドルウェアの設定方法以外でアクセスします。
曾经蜡笔没有小新2017-05-16 13:10:02
クラウドプラットフォームのオブジェクトストレージ機能を試すことができます。Alibaba CloudとQiniuの両方に、アップロードとダウンロードの権限が分離されているか、アンチリーチなどの比較的伝統的な機能もあります。
我想大声告诉你2017-05-16 13:10:02
理解してくださいthinkphp5
、なぜ彼はエントリ ファイルをパブリック ディレクトリに置いたのでしょうか?
これにより、画像などのプロジェクト内のリソースにブラウザから直接アクセスできなくなり、単一のエントリ ファイルindex.phpを通じてのみアクセスできるようになるため、画像や特定のコード ファイルに直接アクセスできなくなります。 !
このアイデアに従って、画像リソースにエントリ ファイル経由でのみアクセスできるようにアクセス許可を設定できます
为情所困2017-05-16 13:10:02
写真は他の人にも見てもらえるようにアップロードされています。盗難防止会社に頼みたいと思います。盗難防止接続をオンにするときは、通常、リファラーを確認して、空のリファラーを無効にすることを選択できます。もちろん盗難には万全を期さなければなりません。実アドレスを公開しない、トークンを付加するなどの方法が考えられます。
phpcn_u15822017-05-16 13:10:02
使用する http サーバーが Apache の場合は、イメージ ディレクトリに新しい .htaccess を作成し、次のコードを記述します。 リーリー
原則は、Apache の書き換え機能を使用して、リファラーが abc.com からのものであるかどうかを判断し、そうでない場合は、localhost にジャンプします。画像に直接アクセスする場合、リファラーは存在しません。他の Web サイトから参照される場合、リファラーは他の Web サイトのドメイン名になります。これにより、画像の保護とトラフィックの節約の効果が得られます。
我想大声告诉你2017-05-16 13:10:02
私が言いたいのは、なぜそれをサーバーに置かないのかということです!ただ置いて見てください!アンチホットリンクとは一体何なのでしょうか。初心者を防ぐには十分です。