資産アクセス制限方法 - 不要な訪問者をブロックします
キーテイクアウト
- 資産へのアクセス制御を実装することは、セキュリティにとって重要です。ホワイトリストは推奨されるアプローチであり、ゲートキーパーは信頼できるエンティティのみが資産にアクセスできるようにします。このゲートキーパーは、HTTPサーバーまたはアプリケーションコードに配置でき、HTTP_HOSTを確認するツールを提供できます。 HTTPサーバーは、リクエストごとにアプリケーションコードを起動する必要なく、アクセス制御を効率的に処理できます。サーバーに応じて、mod_rewriteやApacheの許可/拒否などのさまざまな方法、またはnginxのhttpreferermoduleを使用できます。ただし、このアプローチのスケーラビリティは、変更を管理または頻繁に変更するドメインが多い場合は課題になります。
- アプリケーションコードレベルでのアクセス制御により、柔軟性が向上します。この方法では、リファラーがIFRAMEステータスに関する情報を提供しないIFRAMEの状況も処理できます。ただし、HTTPサーバーとアプリケーションコードの両方のメソッドは完全にはないため、OAUTHなどのトークンベースのゲートキーパーがセキュリティを強化するために推奨されます。
- 素晴らしいWebアプリやWebサイトを構築するとき、Webアプリ/Webサイトの一部を独自に埋め込むことができるようにしたい場合があります。それは、「いいね」ボタンを保持しているiframeである可能性があります。彼らが再利用したいシンプルな画像、または私たちのアプリ全体がiframeに埋め込まれています。
問題を、アクセスを制御する
アクセス制限:いくつかを許可し、すべて
をブロックします アクセス制御について話すとき、セキュリティのドメインを入力します。そして、セキュリティを話すとき、ホワイトリストは問題に取り組むために取られたアプローチでなければなりません。誰があなたの資産にアクセスすることが許可されているかを制御する方が簡単です。インターネットのすべてのブギーモンスターを知ることは単に不可能です。 資産を保護するために、
、私たちはゲートキーパーを雇って信頼できるものだけを雇います。雇われたら、彼にコントロールするホワイトリストへのアクセスを与え、彼にすべての重い持ち上げをさせます。問題が解決しました。しかし、ゲートキーパーはどのように持ち上げる必要がありますか?持ち上げ戦術
ゲートキーパーがどれだけ安全であるか、クライアントが求めたものに応じて、さまざまな戦術を使用できます。
使用される一般的なアプローチは、参照ヘッダーをチェックすることです。その方法には3つの大きな欠点があります:
ゲートを通過しました。簡単なセットアップは次のとおりです。クライアント - > httpサーバー - >アプリケーションコード
httpサーバーは、持ち上げる方法を知っています apache Apacheでは、2つの異なる方法があります。 mod_rewriteを使用するか、許可/拒否します。
mod_rewriteは、ほとんどのホスティングプロバイダーによってサポートされています
アプリケーションコードは何をすべきかを知っています 前述のように、参照者に依存することは必ずしも良い考えではありません。それは私たちの信頼できない人間からのデータだけでなく、私たちがIFRAMEにいるかどうかについても手がかりを与えません。単に知る方法はありません。 しかし、ゲートキーパーを助けるためにヒットマンを雇うことができました。私たちのヒットマンは、疑わしいように見える人間に派遣されます(例えば、信頼されていない参照者がいる人)。ヒットマンは、JSを武器として使用します: 悲しいことに、信頼できないドメインから到着した人は、その信頼できないドメインのiframeを使用して私たちにアクセスする他の誰かと同じ参照を持っています。ただし、アセットでは、参照者がドメインに設定されます(IFRAMEの状況であっても)。ここにヒットマンを送信するのはやり過ぎです。アクセスを拒否するだけで十分です - または、ランダムな子猫の画像を送信することができます。
そのため、IFRAMEにいるかどうかをヒットマンチェックがあるのです。もしそうなら、私たちは彼に私たちのターゲットを殺させます:
ユーザーエージェントブロッキングは、特定のブラウザまたはデバイスがデジタル資産にアクセスするのを防ぐために使用される方法です。これは、サーバーにリクエストを行うときにブラウザまたはデバイスによって送信されるユーザーエージェント文字列を識別することによって行われます。ユーザーエージェントの文字列がサーバーの「ブラックリスト」の1つと一致する場合、リクエストは拒否されます。参照Webサイトに基づいてアクセスを制限するために使用される方法。これは、リクエストが生じたWebサイトのURLを含むHTTPリファラーヘッダーをチェックすることによって行われます。リファラーがサーバーの「ブラックリスト」にある場合、リクエストは拒否されます。ユーザーにパスワードの入力を要求することにより、デジタル資産。これは、多くの場合、民間または敏感な資産に使用されます。サーバーは、資産にアクセスしようとするときにユーザーにパスワードを求めます。正しいパスワードを入力する人のみがアクセスが許可されます。 🎜>はい、複数のアセットアクセス制限方法を一緒に使用して、より高いレベルのセキュリティを提供できます。たとえば、IPブロッキングを使用して特定のIPアドレスからのアクセスを防ぎ、パスワード保護を使用して、認定ユーザーのみへのアクセスをさらに制限します。 >
ただし、画像、JS、CSSなどの静的資産の場合、これらの欠点は問題ではありません。あなたの資産は、ユーザーが当社のウェブサイトに直接アクセスしている場合(または信頼できるサイトから)ロードする必要があります。一般的な考え方は、他の人をブロックすることです。したがって、参照者は常にホワイトリストに載っています。あなたが自分自身を信頼しない限り - しかし、あなたはより大きな問題を抱えています。
使用されるセットアップに応じて、クエリは一連の HTTPサーバーにアクセス制御を処理することの強度は速度です。リクエストごとにアプリケーションコードを起動する必要はありません。これにより、アプリケーションスタック/スレッド(MOD_PHPなど)をメモリにロードする必要がないため、パフォーマンスを大幅に向上させる可能性があります。
HTTPサーバーに応じて、さまざまなソリューションが利用可能です
mod_rewriteメソッド:
# Turn mod_rewrite on
RewriteEngine On
# if it is not trusted.domain.tld block it
RewriteCond %{HTTP_REFERER} !^trusted\.domain\.tld$ [NC]
RewriteCond %{HTTP_REFERER} !^trusted\.tld$ [NC]
RewriteRule ^ - [F]
#specify the files to guard, block all the assets
<files "*.*">
#block everyone
Deny from all
#allow trusted ones
Allow from trusted.tld trusted.domain.tld
</files>
とは思わない
ここでの大きな問題はスケーラビリティです。資産にアクセスできる必要がある1000のドメインがある場合はどうなりますか?ドメインのリストが頻繁に変更された場合はどうなりますか?
アプリケーションコードレベルにアクセス制御を使用すると、柔軟性がはるかに高くなります。すぐに彼のゲートキーパーを稼働させることができます:
location / {
valid_referers trusted.tld trusted.domain.tld;
if ($invalid_referer) {
return 444;
}
}
それらのiframesはどうですか?
# Turn mod_rewrite on
RewriteEngine On
# if it is not trusted.domain.tld block it
RewriteCond %{HTTP_REFERER} !^trusted\.domain\.tld$ [NC]
RewriteCond %{HTTP_REFERER} !^trusted\.tld$ [NC]
RewriteRule ^ - [F]
#specify the files to guard, block all the assets
<files "*.*">
#block everyone
Deny from all
#allow trusted ones
Allow from trusted.tld trusted.domain.tld
</files>
location / {
valid_referers trusted.tld trusted.domain.tld;
if ($invalid_referer) {
return 444;
}
}
ここに提供されるソリューションは、ほとんどのブギーモンスターからあなたを守ります。しかし、両方の解決策はばかな証拠ではありません。 1つ目はクライアントからのデータを使用し、2つ目はクライアントが実行するJavaScriptです。
安全な方法は、トークンベースのゲートキーパーを使用することです。 Oauthはおそらくあなたがここで仕事に望んでいる人ですが、それはこの記事の範囲外です。
アセットアクセス制限方法に関するよくある質問(FAQ)IPブロッキングは、特定のIPアドレスがデジタル資産にアクセスするのを防ぐために使用される方法です。これは、サーバーの構成ファイルの「ブラックリスト」にIPアドレスを追加することによって行われます。これらのIPアドレスからのリクエストは拒否され、資産へのアクセスを効果的にブロックします。地理的位置に基づいてデジタル資産へのアクセスを制限します。これは、多くの場合、地域のライセンス契約に準拠したり、サイバー攻撃で知られている地域からのアクセスを防ぐために使用されます。ジオブロッキングは、IPアドレスに基づいてユーザーの場所を決定することで機能します。
アセットアクセス制限でユーザーエージェントブロッキングを使用するにはどうすればよいですか?
以上が資産アクセス制限方法 - 不要な訪問者をブロックしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。
