찾다
PHP 프레임워크ThinkPHPThinkPHP 빈 작업 및 빈 컨트롤러 처리 소개

다음 튜토리얼 칼럼인 thinkphp에서는 ThinkPHP 빈 연산과 빈 컨트롤러 처리에 대해 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

전문가가 귀하의 웹사이트를 탐색할 때 귀하의 웹사이트의 오류 메시지는 해커에게 귀하의 웹사이트를 공격할 수 있는 정보를 제공할 것입니다. 예를 들어 빈 작업과 빈 컨트롤러의 경우 웹 사이트 백엔드에서 사용하는 프레임워크가 해커에게 노출되고 해커는 프레임워크의 취약점을 기반으로 웹 사이트를 공격할 것입니다. 그러므로 우리는 해커에게 어떤 단서도 남기지 않고 빈 컨트롤러와 빈 작업을 처리해야 합니다.

1. 무작동 처리

우선 효과를 살펴보겠습니다.
저는 IndexController.class.php 파일에 hello 메소드가 없습니다.
참고: no-op의 본질은 객체(컨트롤러)가 존재하지 않는 메소드를 호출한다는 것입니다.

ThinkPHP 빈 작업 및 빈 컨트롤러 처리 소개
ThinkPHP를 이해하는 개발자라면 다음과 같은 내용을 쉽게 알 수 있습니다. 이 웹사이트의 백엔드는 ThinkPHP 프레임워크를 사용합니다. 그렇다면 이러한 문제를 어떻게 차단할 수 있을까요? 그것이 오늘 우리가 이야기할 내용입니다.

해결책 1, 컨트롤러에 __call($method,$argvs) 메소드를 추가합니다

ThinkPHP 빈 작업 및 빈 컨트롤러 처리 소개

ThinkPHP 빈 작업 및 빈 컨트롤러 처리 소개

이런 식으로 hello 메소드에 다시 액세스하면 컨트롤러의 __call이 기본적으로 호출됩니다(&dollar ;방법,$args) 방법.

하지만! 컨트롤러가 많은 경우 각 컨트롤러에 대해 __call($method,$args) 메서드를 작성해야 합니까? 분명히 불합리합니다! 따라서 상속을 통해 컨트롤러의 상위 클래스에 이 메서드를 작성해야 합니다. Controller.class.php에 들어가면 __call() 메소드를 찾을 수 있습니다. 왜냐하면 TP가 이미 이를 수행했기 때문입니다. 그의 생각으로는 컨트롤러에 _empty()라는 메소드를 정의했는지 여부에 달려 있습니다. 정의된 경우 이 메서드를 호출하세요

공통 컨트롤러 상위 클래스의 위치: ThinkPHP/Library/Think/Controller.class.php

해결책 2

no-의 이름과 동일한 이름으로 템플릿을 만듭니다. op. 시스템이 자동으로 템플릿을 호출합니다.

2. 빈 컨트롤러 처리

ThinkPHP 빈 작업 및 빈 컨트롤러 처리 소개BeijingController.class.php 파일이 없어서 오류가 발생합니다! !
TP 프레임워크의 소스 코드를 분석한 후 다음과 같은 해결책을 얻었습니다

ThinkPHP 빈 작업 및 빈 컨트롤러 처리 소개

그래서 빈 컨트롤러를 정의해야 합니다. 존재하지 않는 컨트롤러에 액세스하면 지정한 오류에 따라 오류가 보고됩니다.

ThinkPHP 빈 작업 및 빈 컨트롤러 처리 소개

좋아, 빈 연산과 빈 컨트롤러에 대한 이야기는 그만하자 O(∩_∩)O~


위 내용은 ThinkPHP 빈 작업 및 빈 컨트롤러 처리 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 segmentfault에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

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

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기