블로그 및 포럼 사진의 핫링크를 방지하는 PHP 방법

墨辰丷
풀어 주다: 2023-03-28 18:50:01
원래의
2106명이 탐색했습니다.

이 글에서는 PHP에서 블로그와 포럼 사진의 핫링크를 방지하는 방법을 주로 소개합니다. PHP 문자열을 세션과 결합하여 사진을 결정하는 관련 운영 기술이 포함되어 있습니다.

방법은 다양합니다. 여기서는 핫링크에 대해 설명하겠습니다. 제가 이해하는 핫링크는 원격 제출을 방지하는 것과 같습니다.

먼저 함수를 소개해주세요

uniqid(string);
//这个函数的作用,是在你添加的字符串后面随即添加一个独一无二ID字符串。
로그인 후 복사

그래도 걱정하지 않으신다면, SHA1() 함수를 이용하여 이 함수로 출력되는 문자열을 암호화하시면 됩니다.

이런 방식으로 우리는 디지털 비자에 사용되는 나만 아는 고유한 문자열을 얻습니다. 다음은 이 디지털 비자를 감지하는 방법입니다.

function has($string)
{
if(!isset($string) || $string != $_SESSION["uniqid"])
{
exit;
}
}
//上面这个函数的意思是如果不存在字符串$string或者字符串不等于$_SESSION["uniqid"];
//则不执行下面的部分。
로그인 후 복사

디지털 비자를 감지하는 기능은 나중에 작성될 예정입니다. 다음에해야 할 일. 우리 모두는 웹 페이지가 위에서부터 아래로 실행된다는 것을 알고 있습니다. 상단에서 디지털 비자를 생성하고 아래 기능에서 확인하면 됩니다.

session_start(); //开去session功能
$uniqid = uniqid("dwz");
$_SESSION["uniqid"] = $uniqid;
//执行代码
has($uniqid); //进行数字验证
로그인 후 복사

위에서 핫링크를 방지하는 가장 간단한 방법이 완료되었습니다. 주제로 돌아가서, 사진의 핫링크를 방지하는 방법은 무엇입니까?

이것은 더 간단한 답변입니다. 웹 사이트 이미지의 소스 코드를 살펴보면 이미지를 저장하는 경로가 두 가지가 있다는 것을 알 수 있습니다. 하나는 상대 경로이고 다른 하나는 절대 경로입니다.

상대 경로는 사진이 서버에 있음을 의미합니다.

경로는 다음을 의미한다고 생각합니다. 사진이 서버에 있을 수도 있고 없을 수도 있습니다.

서버에 없으면 URL 주소나 IP 주소가 있는 것입니다. 이것이 도난 방지의 핵심입니다.

$_SERVER['HTTP_HOST'];
//这样就可以获取服务器的url。但这个可以直接用代码修改.
로그인 후 복사

확인할 수 있도록 전송 요청 URL을 가져오세요. 귀하의 URL이면 통과되고, 그렇지 않으면 실행되지 않습니다. 같은 원리입니다!

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장사항:

php

PHP 참조 변수에 대한 자세한 지식

PHP의 커플링 디자인 패턴

아래의 Redis 명령 종합 목록

위 내용은 블로그 및 포럼 사진의 핫링크를 방지하는 PHP 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿