http 액세스를 허용하지 않도록 이미지 디렉터리를 설정합니다(이미지 디렉터리의 두 가지 권한 제거: 읽기 및 디렉터리 탐색).
PHP 파일을 사용하고 파일 기능을 직접 사용하여 이미지를 읽습니다. 이 PHP 파일에서 권한 제어를 수행합니다.
Apache 환경에서는 이미지 디렉터리에 다음 파일을 추가하면 됩니다.
파일 이름 .htaccess
파일 내용은 다음과 같습니다
# 디렉토리의 .htaccess 파일이 재정의될 수 있는 옵션.
# .htaccess에서 AllowOverride로 apache/conf/httpd.conf를 편집합니다
# AllowOverride 인증 구성
# 디렉토리 목록 표시를 중지합니다
옵션 -색인
# 이 서버에서 물건을 얻을 수 있는 사람을 제어합니다.
주문거부,허용
모두 거부
로컬호스트에서 허용
iss, nginx 등 다른 웹 환경도 비슷합니다.
class imgdata{ public $imgsrc; public $imgdata; public $imgform; public function getdir($source){ $this->imgsrc = $source; } public function img2data(){ $this->_imgfrom($this->imgsrc); return $this->imgdata=fread(fopen($this->imgsrc,'rb'),filesize($this->imgsrc)); } public function data2img(){ header(“content-type:$this->imgform”); echo $this->imgdata; //echo $this->imgform; //imagecreatefromstring($this->imgdata); } public function _imgfrom($imgsrc){ $info=getimagesize($imgsrc); //var_dump($info); return $this->imgform = $info['mime']; } } $n = new imgdata; $n -> getdir(“1.jpg”); //图片路径,一般存储在数据库里,用户无法获取真实路径,可根据图片ID来获取 $n -> img2data(); $n -> data2img();
이 코드는 이미지를 읽어서 브라우저에 직접 출력하는 코드입니다. 읽어서 출력하기 전에 사용자 권한을 판단합니다.
여기서 PHP가 이미지를 읽을 때는 읽기 경로를 참조하는 것이 아니라 이미지의 내용을 읽은 다음
을 통해 읽는 것을 의미합니다.
Header(); gif png jpg 등 이미지 종류를 입력합니다. 이미지의 내용은 아래에 출력되므로 fread()
를 사용합니다.
실제로 image.php?id=100 을 보면 이 이미지가 브라우저에 표시되는데, 소스 파일을 보면 이미지 경로가 보이지 않고 왜곡된 이미지 내용이 보입니다.
==========================================
QQ스페이스의 암호화된 사진첩과 마찬가지로 비밀번호를 입력해야만 접근이 가능하며, 브라우저에 직접 입력한 암호화된 사진첩의 사진 주소로는 접근할 수 없습니다. 현재 생각으로는 이미지의 주소가 php 파일이고, php를 통해 권한을 확인하고, 이미지를 읽어서 출력하는 것인데, 이 방법 외에 더 간단하고 효율적인 방법이 없을까? 예를 들어, 임시 검색 주소를 생성하고 nginx의 핫링크 방지 플러그인을 사용하시겠습니까?
이를 수행하려면 ngx_http_auth_basic_module을 사용할 수 있습니다.
구성 파일 수정
위치 / {
루트 /usr/local/nginx/html;
auth_basic “인증”;
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
인덱스 index.php index.htm;
}
auth_basic "Auth"의 Auth는 팝업 상자의 제목입니다(사용자 이름과 비밀번호 입력)
auth_basic_user_file의 /usr/local/nginx/conf/htpasswd /usr/local/nginx/conf/htpasswd; 비밀번호를 저장하는 파일입니다
PHP는 이미지 핫링크를 금지합니다
1. 이미지 링크가 허용된 호스트 도메인 이름은 www.test.com
이라고 가정합니다.
2. httpd.conf 수정
SetEnvIfNoCase 리퍼러 “^http://www.test.com/” local_ref=1
주문 허용, 거부
env=local_ref
에서 허용 파일 일치>
이 간단한 응용 프로그램은 사진의 핫링크 문제를 해결할 수 있을 뿐만 아니라 약간의 수정만으로 모든 파일의 핫링크 문제를 방지할 수도 있습니다.
위의 방법을 사용하여 지정되지 않은 호스트의 이미지를 연결하면 이미지가 표시되지 않습니다. "핫 링크 금지" 이미지를 표시하려면 mod_rewrite를 사용하면 됩니다.
먼저 Apache를 설치할 때 –enable-rewrite 매개변수를 추가하여 mod_rewrite 모듈을 로드합니다.
"No Hotlinking" 이미지가 abc.gif라고 가정하면 httpd.conf에서 다음과 같이 구성할 수 있습니다.
RewriteEngine 켜짐
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?test.com /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.test.com/abc.gif [R,L]
호스트 이미지 도용시 "핫링크 금지"라고 적힌 "abc.gif" 사진만 보이실 거에요!

PHP는 현대적인 프로그래밍, 특히 웹 개발 분야에서 강력하고 널리 사용되는 도구로 남아 있습니다. 1) PHP는 사용하기 쉽고 데이터베이스와 완벽하게 통합되며 많은 개발자에게 가장 먼저 선택됩니다. 2) 동적 컨텐츠 생성 및 객체 지향 프로그래밍을 지원하여 웹 사이트를 신속하게 작성하고 유지 관리하는 데 적합합니다. 3) 데이터베이스 쿼리를 캐싱하고 최적화함으로써 PHP의 성능을 향상시킬 수 있으며, 광범위한 커뮤니티와 풍부한 생태계는 오늘날의 기술 스택에 여전히 중요합니다.

PHP에서는 약한 참조가 약한 회의 클래스를 통해 구현되며 쓰레기 수집가가 물체를 되 찾는 것을 방해하지 않습니다. 약한 참조는 캐싱 시스템 및 이벤트 리스너와 같은 시나리오에 적합합니다. 물체의 생존을 보장 할 수 없으며 쓰레기 수집이 지연 될 수 있음에 주목해야합니다.

\ _ \ _ 호출 메소드를 사용하면 객체를 함수처럼 호출 할 수 있습니다. 1. 객체를 호출 할 수 있도록 메소드를 호출하는 \ _ \ _ 정의하십시오. 2. $ obj (...) 구문을 사용할 때 PHP는 \ _ \ _ invoke 메소드를 실행합니다. 3. 로깅 및 계산기, 코드 유연성 및 가독성 향상과 같은 시나리오에 적합합니다.

섬유는 PHP8.1에 도입되어 동시 처리 기능을 향상시켰다. 1) 섬유는 코 루틴과 유사한 가벼운 동시성 모델입니다. 2) 개발자는 작업의 실행 흐름을 수동으로 제어 할 수 있으며 I/O 집약적 작업을 처리하는 데 적합합니다. 3) 섬유를 사용하면보다 효율적이고 반응이 좋은 코드를 작성할 수 있습니다.

PHP 커뮤니티는 개발자 성장을 돕기 위해 풍부한 자원과 지원을 제공합니다. 1) 자료에는 공식 문서, 튜토리얼, 블로그 및 Laravel 및 Symfony와 같은 오픈 소스 프로젝트가 포함됩니다. 2) 지원은 StackoverFlow, Reddit 및 Slack 채널을 통해 얻을 수 있습니다. 3) RFC에 따라 개발 동향을 배울 수 있습니다. 4) 적극적인 참여, 코드에 대한 기여 및 학습 공유를 통해 커뮤니티에 통합 될 수 있습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
