PHP에 사용 된 비 제외 기능은 무엇입니까? 기본 사용법을 빠르게 이해하십시오
gitbox
2025-09-25
<?php /*** PHP에 사용 된 비 제외 기능은 무엇입니까? PHP 프로그래밍에서 기본 사용법 * *에 대한 빠른 이해를 통해 복잡한 데이터 구조 (예 : 배열, 개체 등)를 파일 또는 데이터베이스에 저장 해야하는 시나리오를 종종 발생시킵니다. * 현재 PHP는 Serialize () 및 Unserialize ()의 두 가지 매우 실용적인 기능을 제공합니다. * * 1. 비생기 기능 소개 * * unsserialize () 함수의 기능은 Serialize ()를 통해 직렬화 된 문자열을 PHP의 원래 데이터 유형으로 재구성하는 것입니다. * 간단히 말해서 Serialize ()의 "역 작동"입니다. * * 함수 프로토 타입 : * 혼합 비생물 화 (String $ str [, 배열 $ 옵션 = []]) * * 매개 변수 설명 : * 1. $ str : 필수, 스트링이 사막화 될 문자열. * 2. $ 옵션 : 옵션, 현재 주로 보안을 향상시키기 위해 클래스 목록의 사막화를 허용하는 데 주로 사용됩니다. * * 반환 값 : * 직렬화 (배열, 객체, 문자열 등) 전에 데이터 유형을 성공적으로 반환하고 False를 반환하지 않습니다. * * 2. 기본 사용 예 예 :///// 예제 1 : 배열 사제 화
$ SerializedArray = 'a : 3 : {i : 0; s : 4 : "php!"; i : 1; s : 3 : "123"; i : 2; s : 6 : "hello!";}' ; $ array = unsserialize ( $ serializedArray ); 에코 " "
;; print_r ( $ array ); 에코 "" ;; // 출력 결과 :
// 배열
// (
// [0] => PHP!
// [1] => 123
// [2] => 안녕하세요!
//)
// 예제 2 : 객체를 제조합니다
수업 사용자 { public $ 이름 ; 공공의 $ 나이 ; } $ SerializedObject = 'O : 4 : "사용자": 2 : {s : 4 : "name"; s : 4 : "John"; s : 3 : "age"; i : 25;}' ; $ user = unsserialize ( $ SerializedObject ); 에코 " "
;; print_r ( $ user ); 에코 "" ;; // 출력 결과 :
// 사용자 객체
// (
// [이름] => 존
// [age] => 25
//) /*** 3. 비소화에 대한 보안 고려 사항** 객체 주입 공격을 유발할 수 있기 때문에 신뢰할 수없는 소스에서 데이터를 처리 할 때 비소화가 매우 위험합니다. * 공격자는 신중하게 구성된 직렬화 된 문자열을 통해 임의의 코드를 실행할 수 있습니다. * * 보안 제안 : * 1. 사용자가 제공 한 데이터를 사로화하지 않도록 노력하십시오. * 2. allend_classes 매개 변수를 사용하여 사형화 된 객체 클래스를 제한하십시오. * 3. 데이터 소스를 엄격하게 확인하고 필터링하십시오. * * 4. 요약 * * - unsserialize ()는 직렬화 된 문자열을 원래 PHP 데이터로 복원하는 데 사용됩니다. * - Serialize ()와 함께 복잡한 데이터를 쉽게 저장하고 전송할 수 있습니다. * - 특히 외부 데이터를 처리 할 때 보안 문제에주의를 기울여야합니다. * * 일단 Unserialize ()를 마스터하면 PHP의 데이터 지속성 및 객체 저장을 처리하는 데 더 유연합니다. */ ?>
<?php
// 기사 다음에 관련없는 PHP 코드
$ booter = "이것은 기사 다음에 끝 독립적 인 코드입니다" ; 에코 $ 바닥자 ; ?>