라이브러리

[PHP] unserialize - 저장된 표현에서 PHP 값을 생성합니다.




PHP unserialize() 함수


PHP의 `unserialize()` 함수는 serialize() 함수의 반대입니다. serialize() 함수는 데이터를 문자열로 변환하는 반면, unserialize() 함수는 문자열을 원래 데이터로 변환합니다.

unserialize() 함수의 사용법


unserialize() 함수는 다음과 같은 형식으로 사용됩니다.

#hostingforum.kr
php

unserialize($serialized_data);



* `$serialized_data` : serialize() 함수로 serialize된 데이터를 입력합니다.

예제


#hostingforum.kr
php

// serialize() 함수로 데이터를 serialize합니다.

$data = array('name' => 'John', 'age' => 30);

$serialized_data = serialize($data);



// unserialize() 함수로 serialize된 데이터를 원래 데이터로 변환합니다.

$unserialized_data = unserialize($serialized_data);



// 원래 데이터를 출력합니다.

print_r($unserialized_data);



위 예제의 출력 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [name] => John

    [age] => 30

)



unserialize() 함수의 위험성


unserialize() 함수는 serialize() 함수의 반대이지만, 위험성도 있습니다. serialize() 함수는 데이터를 문자열로 변환하여 안전하게 저장할 수 있지만, unserialize() 함수는 문자열을 원래 데이터로 변환하므로, 악의적인 사용자가 데이터를 변조할 수 있습니다.

예를 들어, 다음 예제에서는 serialize() 함수로 serialize된 데이터를 변조한 후, unserialize() 함수로 변조된 데이터를 원래 데이터로 변환합니다.

#hostingforum.kr
php

// serialize() 함수로 데이터를 serialize합니다.

$data = array('name' => 'John', 'age' => 30);

$serialized_data = serialize($data);



// 악의적인 사용자가 데이터를 변조합니다.

$serialized_data = str_replace('age', 'age', 'age=100', $serialized_data);



// unserialize() 함수로 변조된 데이터를 원래 데이터로 변환합니다.

$unserialized_data = unserialize($serialized_data);



// 원래 데이터를 출력합니다.

print_r($unserialized_data);



위 예제의 출력 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [name] => John

    [age] => 100

)



위 예제에서 악의적인 사용자가 데이터를 변조하여, 원래 데이터의 `age` 값을 100으로 변경했습니다. 이처럼 unserialize() 함수를 사용할 때, 데이터의 무결성을 보장하기 위해 serialize() 함수로 serialize된 데이터를 안전하게 저장하고, unserialize() 함수를 사용할 때는 데이터의 무결성을 확인해야 합니다.

결론


unserialize() 함수는 serialize() 함수의 반대이지만, 위험성도 있습니다. serialize() 함수로 serialize된 데이터를 안전하게 저장하고, unserialize() 함수를 사용할 때는 데이터의 무결성을 확인해야 합니다. 또한, unserialize() 함수를 사용할 때는 serialize() 함수로 serialize된 데이터를 변조하는 악의적인 사용자를 방지해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 53 페이지

검색

게시물 검색