카테고리: PHP

이름표를 담은 작은 상자가 다른 값 보관함을 가리키는 변수 간접 참조 그림

PHP / 변수 / 유동 변수(변수 안에 변수) 만드는 방법

$$name과 ${$name}으로 변수 이름을 동적으로 선택하는 방법을 설명합니다. 반복문 생성, 배열 인덱스의 중괄호 위치와 함수 범위를 확인하고 외부 입력을 허용 목록의 배열로 관리하는 대안을 제시합니다.

주소를 나타내는 긴 띠를 호스트·경로·쿼리 부분으로 나누어 살펴보는 그림

PHP / 현재 페이지의 URL 정보 가져오는 방법

REQUEST_URI·QUERY_STRING·SCRIPT_NAME·PHP_SELF의 차이를 전체 PHP 예제로 확인합니다. 출력 이스케이프, 신뢰하는 오리진으로 전체 URL을 만드는 방법과 Host·프록시·프래그먼트의 한계를 설명합니다.

암호화된 통로를 통해 고정된 수신함으로 편지를 전달하는 메일 전송 그림

PHP / PHPMailer / SMTP를 이용하여 메일 발송하게 하는 라이브러리

PHPMailer 설치부터 TLS·UTF-8 SMTP 전송, 환경 변수로 비밀 설정을 관리하는 전체 PHP 예제까지 설명합니다. 고정 수신자와 CSRF 검증을 넣은 로컬 폼, OAuth 계정의 조건과 주요 오류도 다룹니다.

개발 화면의 오류 신호와 별도로 보관되는 서버 오류 로그를 구분한 입체 그림

PHP / 에러 출력하는 방법, 에러 출력하지 않는 방법

error_reporting·display_errors·log_errors의 역할을 구분하고 로컬 예제로 화면 표시와 로그 기록을 비교합니다. HTTP 500, php.ini 적용 경로, 파싱 오류의 한계와 로그가 남지 않을 때의 확인 순서를 설명합니다.

서로 다른 길이의 문자열 묶음이 동일한 크기의 요약 토큰으로 바뀌는 해시 변환 장치 그림

PHP / 함수 / md5() / 문자열에서 md5 해시값 생성하는 함수

md5()의 32자리 16진수와 16바이트 바이너리 결과를 실행 예제로 비교합니다. 공백·줄바꿈 차이, 느슨한 비교 오류, 파일명과 파일 내용의 구분, 비밀번호·보안 검증의 한계를 설명합니다.

HTML 파일이 지정된 처리기를 거쳐 PHP 실행 장치로 전달되는 과정을 표현한 입체 그림

PHP / Ubuntu / Apache / HTML 확장자에도 PHP 코드 인식되도록 설정하는 방법

Apache의 처리기와 PHP-FPM 확장자 허용 설정을 함께 설명합니다. 전용 풀·로컬 가상 호스트 예제, 기존 PHP 모듈 방식, 실제 응답 확인과 소스 노출을 피하는 복구 순서를 제공합니다.

인증한 사용자 토큰이 세션 검사를 통과해 회원 페이지로 이동하는 과정을 표현한 입체 그림

PHP / Session / 로그인, 로그아웃, 로그인 상태에서만 보이는 콘텐츠 만들기

공개 실습 계정으로 로그인·로그아웃·회원 콘텐츠 접근 제한을 재현합니다. 해시 검증, 인증 전 세션 ID 교체, CSRF 검사와 서버 만료 조건을 전체 파일 예제로 설명합니다.

한 웹 페이지에서 응답 경로를 따라 다른 웹 페이지로 이동하는 모습을 표현한 입체 그림

PHP / 다른 페이지로 리디렉션(Redirection)하는 방법

header()와 exit로 페이지를 이동하는 전체 예제를 제공합니다. 302·303·307·301·308 선택 기준, POST 본문 유지 비교, 허용된 이동 키와 headers already sent 문제를 설명합니다.

브라우저 창이 작은 식별 토큰을 통해 서버의 저장 카드와 연결되는 입체 그림

PHP / Session / 세션 값 출력하는 방법

session_start()와 $_SESSION으로 값을 읽고 HTML에 표시하는 방법을 설명합니다. 한 파일 실습에서 쿠키 유지, 누락 값, 출력 이스케이프와 특정 세션 항목의 초기화를 확인합니다.

입력 토큰과 저장된 해시 패턴을 대조해 일치 경로와 불일치 경로로 나누는 입체 그림

PHP / 함수 / password_verify() / 비밀번호가 저장된 해시와 일치하는지 확인하는 함수

password_verify()의 인수와 반환값을 설명하고 정확한 입력·잘못된 입력·손상된 해시를 실행 예제로 비교합니다. 해시 보존 확인, bcrypt 길이 제약과 검증 성공 후 재해시 흐름도 다룹니다.