개발노트

고즐의 개발 및 서버 개발 노트

PHP 실무자가 꼭 알아야 하는 명령어 추가 정리 (2탄)

# php # 고급함수 # 명령어정리 # php8실무 # 백엔드

PHP 2025.11.28 43 회 읽음
PHP 7일 전 43 회 읽음



PHP 실무에서 반드시 알아야 하는 추가 명령어와 고급 함수 정리

PHP 8.x 환경에서 실무 개발을 하다 보면, 기본적인 함수 외에도 매일 반복해서 활용하게 되는 필수 명령어들이 있다. 특히 요청 처리, 세션 및 쿠키 관리, 파일 업로드, 보안 관련 함수들은 백엔드 개발의 핵심 도구로 자리잡고 있다. 아래는 실전 프로젝트에서 자주 사용하는 고급 PHP 명령어를 정리한 확장 편이다.


요청 처리 관련 함수

filter_input

클라이언트에서 전달된 GET·POST 값을 안전하게 검증할 때 사용된다. 타입 검증과 XSS 방지를 동시에 수행할 수 있다.

$id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT);


parse_url

URL을 구성 요소별로 분석하여 도메인, 경로, 쿼리 파라미터 등을 손쉽게 추출할 수 있다. 라우팅 및 API 개발에서 자주 쓰인다.

$info = parse_url("https://sigoni.kr/dev?page=2");


$_SERVER 활용

요청 메서드, 클라이언트 IP, User-Agent 등 서버에서 제공하는 환경 정보를 손쉽게 가져올 수 있다. 인증, 보안, 로깅에 반드시 사용된다.

$method = $_SERVER["REQUEST_METHOD"];
$ip = $_SERVER["REMOTE_ADDR"];


파일 업로드 관련 함수

move_uploaded_file

업로드된 임시 파일을 서버의 원하는 위치로 이동하는 함수로, 파일 업로드 처리의 핵심이다. 파일 확장자 검증과 조합하면 안정성이 높다.

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/photo.jpg");


mime_content_type

파일의 실제 MIME 타입을 분석하여 이미지 위장 공격 등을 방지할 수 있다. 업로드 보안 처리에서 매우 중요하다.

$type = mime_content_type("upload/photo.jpg");


세션 관리 함수

session_start

로그인·장바구니·사용자 상태 유지 등 대부분의 웹 시스템에서 필수 기능이다. 세션이 없으면 PHP는 상태 기반 처리를 할 수 없다.

session_start();


session_regenerate_id

로그인 시점에 세션 탈취를 막기 위해 반드시 호출해야 한다. 기존 세션 ID를 새로 갱신하여 보안 수준을 한 단계 높인다.

session_regenerate_id(true);


쿠키 설정 및 관리

setcookie

사용자 환경 설정, 토큰 저장, 팝업 방지 등 다양한 기능에 활용된다. PHP 8.x에서는 옵션 배열 방식이 더 안전하고 권장된다.

setcookie("token", $token, [
    "expires" => time() + 3600,
    "path" => "/",
    "secure" => true,
    "httponly" => true,
    "samesite" => "Lax"
]);


보안 및 암호화 함수

hash_hmac

API 인증, 웹훅 검증, 요청 위변조 방지를 위해 반드시 사용하는 보안 서명 생성 함수이다. 대칭키 기반의 안전한 해싱을 제공한다.

$signature = hash_hmac("sha256", $payload, $secretKey);


openssl_encrypt 및 openssl_decrypt

민감 정보를 암호화하여 저장하거나 복호화할 때 사용하는 강력한 양방향 암호화 함수다. 보안이 필요한 시스템에서 광범위하게 사용된다.

$enc = openssl_encrypt($text, "AES-256-CBC", $key, 0, $iv);
$dec = openssl_decrypt($enc, "AES-256-CBC", $key, 0, $iv);