도난 방지 링크 메커니즘은 자원 도난을 피하기 위해 다른 웹 사이트가 사진, 비디오, 파일 등과 같은 웹 사이트의 리소스를 직접 참조하는 것을 방지하는 것을 말합니다. PHP에서는 헤더 () 함수를 사용하여 브라우저로 점프 할 때 간단한 도난 방지 링크 메커니즘을 구현할 수 있습니다.
웹 사이트의 리소스 (예 : 사진, 비디오 등)가 다른 웹 사이트에서 직접 참조하면 대역폭 폐기물 및 자원 남용이 발생할 수 있습니다. 이를 방지하기 위해 요청 소스는 HTTP 헤더의 참조 필드에 의해 결정되어 요청을 허용할지 여부를 결정할 수 있습니다.
헤더 () 함수는 PHP의 함수로 원시 HTTP 헤더 정보를 보냅니다. 요청에서 참조 필드를 확인하면 요청이 합법적 인 소스 웹 사이트에서 오는지 여부를 알 수 있습니다. 합법적이지 않은 경우 Header () 함수를 사용하여 다른 페이지로 리디렉션하거나 액세스 거부와 같은 해당 처리를 만들 수 있습니다.
<?php
// 요청을 받으십시오 Referer 전지
$referer = $_SERVER['HTTP_REFERER'];
// 합법적 인 소스 도메인 이름을 정의하십시오
$allowed_domain = 'm66.net';
// 조사하다 Referer 법적 도메인 이름을 포함합니까?
if (strpos($referer, $allowed_domain) === false) {
// 만약에 Referer 불법적인,거부 페이지로 이동하십시오
header('Location: https://m66.net/403.html');
exit;
} else {
// 만약에 Referer 정당한,리소스에 액세스 할 수 있습니다
// 여기에서 자원 출력 및 기타 작업을 수행 할 수 있습니다
echo "내 리소스에 오신 것을 환영합니다!";
}
?>
$ _server [ 'http_referer']는 요청에서 참조 필드를 얻는 데 사용되는데, 여기에는 일반적으로 요청 소스의 URL이 포함되어 있습니다.
strpos () 함수를 사용하여 참조 필드에 허용 도메인 이름 ( m66.net )이 포함되어 있는지 확인하십시오. 도메인 이름이 포함 된 경우 요청은 법적 소스에서 시작되었습니다.
참조자가 합법적이지 않은 경우 헤더 ( '위치 : https://m66.net/403.html')를 사용하여 403 오류 페이지로 리디렉션하여 액세스가 금지되어 있음을 나타냅니다.
요청이 합법적 인 경우 리소스에 대한 액세스가 허용되고 환영 메시지가 출력됩니다.
모든 요청이 참조 필드에 포함되는 것은 아닙니다. 특히 개인 정보 보호가 강하거나 사용자가 참조를 보내는 데 금지를 설정하는 경우 도난 방지 링크 메커니즘이 완전히 적용되지 않을 수 있습니다.
이 도난 방지 체인 메커니즘은 참조 필드에 의존하므로 100% 안전하지 않습니다. 보안을 향상 시키려면 서명 검증, IP 화이트리스트 등과 같은 다른 메커니즘을 결합 할 수도 있습니다.
관련 태그:
header