HTTP_REFERERとUSER_AGENTは簡単になりすますことができます。つまり、ホットリンクを防止したい場合は、HTTP_REFERERを自分のアプリケーションからの呼び出しに制限することをお勧めします。
アパッチ
mode_securityで
SecFilterSelective "HTTP_REFERER" "^[^\?]*mydomain\.com"
フォントのディレクトリに上記を追加し、他のサイトからのすべての非準拠の要求を拒否します。
さらにセキュリティを強化するために、誰かがあなたのアプリケーションを使用したときに、サーバー(PHPなど)でセッションを行い、そこで独自のIDを保存します。
<?PHP
// #header.php - in the head of the page that uses the font
// ...
if(!isset($_SESSION['uniqueId'])) {
$_SESSION['uniqueId'] = rand(pow(2,16), pow(2,31));
}
$uniqueId = $_SESSION['uniqueId'];
echo '<script type="text/javascript" src="http://foo.com/getFont.php?u='.$uniqueId.'"></script>';
?>
これはフォントを提供します。
<?PHP
// #getFont.php - serve your fonts from here
// ...
if(!isset($_GET['u']) || !isset($_SESSION['uniqueId']) || $_SESSION['uniqueId']!=$_GET['u']) {
die('Bad Request');
}
// cat out the file contents here for the request font file
?>
その後、あなたはフォントのための動的ページを参照してください(たとえばgetFont.php?UNIQUEID = FOO)、およびunqiueIdは彼らのセッションと一致した場合にのみ、フォントファイルを返し、そうでなければ、それが偽装されていると仮定リファラーホットリンク。これは本質的に認証されたユーザ専用のディレクトリにファイルを置くのと同じですが、ユーザがログインしていれば機能しますが、上記の方法ではフォントを読み込む前にページを読み込ませ、 。
私は、このアドバイスは法的アドバイスであり、プログラミングのアドバイスではないので、トピックとしてオフに投票しています。 – durron597
@ durron597作成後4年、何でも:D法的な面はボーナス問題に過ぎません。現実には、技術的側面についてです。これをもっと明確にするために私は何ができますか? – meo