Hướng dẫn php unserialize not working - php unserialize không hoạt động

[Php 4, Php 5, Php 7, Php 8]

unserialize - tạo ra giá trị PHP từ một đại diện được lưu trữ Creates a PHP value from a stored representation

Sự mô tả

unserialize [chuỗi $data, mảng $options = []]: hỗn hợp[string $data, array $options = []]: mixed

unserialize [] lấy một biến tuần tự hóa duy nhất và chuyển đổi nó trở lại thành giá trị PHP. takes a single serialized variable and converts it back into a PHP value.

Cảnh báo

Không chuyển đầu vào người dùng không đáng tin cậy để unserialize [] bất kể giá trị options của allowed_classes. Sự không rõ ràng có thể dẫn đến việc mã được tải và thực thi do khởi tạo đối tượng và tự động tải, và người dùng độc hại có thể khai thác điều này. Sử dụng định dạng trao đổi dữ liệu tiêu chuẩn, an toàn như JSON [thông qua json_decode [] và json_encode []]] nếu bạn cần truyền dữ liệu tuần tự hóa cho người dùng.unserialize[] regardless of the options value of allowed_classes. Unserialization can result in code being loaded and executed due to object instantiation and autoloading, and a malicious user may be able to exploit this. Use a safe, standard data interchange format such as JSON [via json_decode[] and json_encode[]] if you need to pass serialized data to the user.

Nếu bạn cần phải giải phóng dữ liệu tuần tự được lưu trữ bên ngoài, hãy xem xét sử dụng Hash_hmac [] để xác thực dữ liệu. Hãy chắc chắn rằng dữ liệu không được sửa đổi bởi bất kỳ ai ngoài bạn.hash_hmac[] for data validation. Make sure data is not modified by anyone but you.

Thông số

data

Chuỗi tuần tự hóa.

Nếu biến không bị hủy là một đối tượng, sau khi tái cấu trúc thành công, PHP đối tượng sẽ tự động cố gắng gọi các phương thức __unSerialize [] hoặc __wakeUp [] [nếu có tồn tại].

Lưu ý: unserialize_callback_func Chỉ thị: unserialize_callback_func directive

Có thể đặt chức năng gọi lại sẽ được gọi, nếu một lớp không xác định nên được khởi tạo trong quá trình không xác định. . Mỗi khi một lớp không xác định nên được khởi tạo, nó sẽ được gọi. Để vô hiệu hóa tính năng này chỉ để trống cài đặt này.object "__PHP_Incomplete_Class".] Use your php.ini, ini_set[] or .htaccess to define unserialize_callback_func. Everytime an undefined class should be instantiated, it'll be called. To disable this feature just empty this setting.

options

Bất kỳ tùy chọn nào được cung cấp để unserialize [], như một mảng kết hợp.unserialize[], as an associative array.

Tùy chọn hợp lệTênLoại hìnhSự mô tả
unserialize [chuỗi $data, mảng $options = []]: hỗn hợpunserialize [] lấy một biến tuần tự hóa duy nhất và chuyển đổi nó trở lại thành giá trị PHP. Cảnh báoarray of class names which should be accepted, false to accept no classes, or true to accept all classes. If this option is defined and unserialize[] encounters an object of a class that isn't to be accepted, then the object will be instantiated as __PHP_Incomplete_Class instead. Omitting this option is the same as defining it as true: PHP will attempt to instantiate objects of any class.
Không chuyển đầu vào người dùng không đáng tin cậy để unserialize [] bất kể giá trị options của allowed_classes. Sự không rõ ràng có thể dẫn đến việc mã được tải và thực thi do khởi tạo đối tượng và tự động tải, và người dùng độc hại có thể khai thác điều này. Sử dụng định dạng trao đổi dữ liệu tiêu chuẩn, an toàn như JSON [thông qua json_decode [] và json_encode []]] nếu bạn cần truyền dữ liệu tuần tự hóa cho người dùng.int Nếu bạn cần phải giải phóng dữ liệu tuần tự được lưu trữ bên ngoài, hãy xem xét sử dụng Hash_hmac [] để xác thực dữ liệu. Hãy chắc chắn rằng dữ liệu không được sửa đổi bởi bất kỳ ai ngoài bạn.

Thông số

databool, int, float, string, array or object.

Chuỗi tuần tự hóa.false is returned and $options5 is issued.

Nếu biến không bị hủy là một đối tượng, sau khi tái cấu trúc thành công, PHP đối tượng sẽ tự động cố gắng gọi các phương thức __unSerialize [] hoặc __wakeUp [] [nếu có tồn tại].

Lưu ý: unserialize_callback_func Chỉ thịThrowables in their unserialization handlers.

Có thể đặt chức năng gọi lại sẽ được gọi, nếu một lớp không xác định nên được khởi tạo trong quá trình không xác định. . Mỗi khi một lớp không xác định nên được khởi tạo, nó sẽ được gọi. Để vô hiệu hóa tính năng này chỉ để trống cài đặt này.

optionsSự mô tả
7.4.0 Bất kỳ tùy chọn nào được cung cấp để unserialize [], như một mảng kết hợp.
7.1.0 Tùy chọn hợp lệarray or a bool is given, unserialize[] returns false and issues an options1.

Tên

Loại hìnhunserialize[] example

options2

allowed_classes

options3

Trộn

Cảnh báo

Không chuyển đầu vào người dùng không đáng tin cậy để unserialize [] bất kể giá trị options của allowed_classes. Sự không rõ ràng có thể dẫn đến việc mã được tải và thực thi do khởi tạo đối tượng và tự động tải, và người dùng độc hại có thể khai thác điều này. Sử dụng định dạng trao đổi dữ liệu tiêu chuẩn, an toàn như JSON [thông qua json_decode [] và json_encode []]] nếu bạn cần truyền dữ liệu tuần tự hóa cho người dùng. is returned both in the case of an error and if unserializing the serialized false value. It is possible to catch this special case by comparing data with options7 or by catching the issued $options5.

Nếu bạn cần phải giải phóng dữ liệu tuần tự được lưu trữ bên ngoài, hãy xem xét sử dụng Hash_hmac [] để xác thực dữ liệu. Hãy chắc chắn rằng dữ liệu không được sửa đổi bởi bất kỳ ai ngoài bạn.

  • Thông số
  • data
  • Chuỗi tuần tự hóa.
  • Nếu biến không bị hủy là một đối tượng, sau khi tái cấu trúc thành công, PHP đối tượng sẽ tự động cố gắng gọi các phương thức __unSerialize [] hoặc __wakeUp [] [nếu có tồn tại].
  • Lưu ý: unserialize_callback_func Chỉ thị
  • unserialize_callback_func
  • unserialize_max_depth
  • __wakeup[]
  • __serialize[]
  • __unserialize[]

Có thể đặt chức năng gọi lại sẽ được gọi, nếu một lớp không xác định nên được khởi tạo trong quá trình không xác định. . Mỗi khi một lớp không xác định nên được khởi tạo, nó sẽ được gọi. Để vô hiệu hóa tính năng này chỉ để trống cài đặt này.

options

options9

allowed_classes0

allowed_classes1

allowed_classes2

Bất kỳ tùy chọn nào được cung cấp để unserialize [], như một mảng kết hợp.

Tùy chọn hợp lệ

allowed_classes3

allowed_classes4

allowed_classes5

allowed_classes2

Tên

Loại hình

allowed_classes7

allowed_classes8

allowed_classes9

allowed_classes2

allowed_classes

Trộn

data1

Hoặc là một mảng tên lớp cần được chấp nhận, false để chấp nhận không có lớp hoặc true để chấp nhận tất cả các lớp. Nếu tùy chọn này được xác định và unserialize [] sẽ bắt gặp một đối tượng của một lớp không được chấp nhận, thì đối tượng sẽ được khởi tạo là __PHP_INCOMPLETE_CLASS thay thế. Bỏ qua tùy chọn này giống như xác định nó là true: PHP sẽ cố gắng khởi tạo các đối tượng của bất kỳ lớp nào.

$options0

data2

Độ sâu tối đa của các cấu trúc được phép trong quá trình không xác định và được dự định để ngăn chặn tràn chồng. Giới hạn độ sâu mặc định là $options1 và có thể bị tắt bằng cách đặt $options0 thành $options3.

Trộn

data3

data4

data5

data6

data7

allowed_classes2

Hoặc là một mảng tên lớp cần được chấp nhận, false để chấp nhận không có lớp hoặc true để chấp nhận tất cả các lớp. Nếu tùy chọn này được xác định và unserialize [] sẽ bắt gặp một đối tượng của một lớp không được chấp nhận, thì đối tượng sẽ được khởi tạo là __PHP_INCOMPLETE_CLASS thay thế. Bỏ qua tùy chọn này giống như xác định nó là true: PHP sẽ cố gắng khởi tạo các đối tượng của bất kỳ lớp nào.

$options0

data9

options0

allowed_classes2

Độ sâu tối đa của các cấu trúc được phép trong quá trình không xác định và được dự định để ngăn chặn tràn chồng. Giới hạn độ sâu mặc định là $options1 và có thể bị tắt bằng cách đặt $options0 thành $options3.

Trả về giá trị

options2

options3

options4

options5

options6

options7

options8

options9

allowed_classes0

allowed_classes1

allowed_classes2

allowed_classes3

allowed_classes4

Giá trị được chuyển đổi được trả về và có thể là một bool, int, float, chuỗi, mảng hoặc đối tượng.

Trong trường hợp chuỗi được thông qua không thể không có được, false được trả về và $options5 được phát hành.

allowed_classes5

allowed_classes6

allowed_classes7

allowed_classes8

Lỗi/ngoại lệ

Đối tượng có thể ném đồ ném vào người xử lý không xác định của họ.

allowed_classes9

false0

false1

false2

false3

Thay đổi

Trả về giá trị

false4

false5

allowed_classes2

Giá trị được chuyển đổi được trả về và có thể là một bool, int, float, chuỗi, mảng hoặc đối tượng.

Trong trường hợp chuỗi được thông qua không thể không có được, false được trả về và $options5 được phát hành.

false7

false8

false9

allowed_classes2

Benbe tại Omorphia Dot de ¶

15 năm trước

true1

true2

true3

true4

allowed_classes2

Là pedersen ¶

16 năm trước

true6

true7

allowed_classes2

Chris Hayes [Chris tại Hypersites Dot Com] ¶

18 năm trước

true9

true0

true1

true2

true3

allowed_classes2

suman dot jis tại gmail dot com ¶

10 năm trước

true5

true6

true7

allowed_classes2

Oscarzarrus ¶

18 ngày trước

true9

$options00

$options01

Ẩn danh ¶

3 năm trước

$options02

$options03

$options04

allowed_classes2

aderyn at nowhere dot tld ¶

19 năm trước

$options06

MBA ¶

11 năm trước

$options07

$options08

allowed_classes2

Walf ¶

11 năm trước

$options10

$options11

$options12

$options13

allowed_classes2

Walf ¶

Fagzal ¶

$options15

$options16

allowed_classes2

Bài Viết Liên Quan

Chủ Đề