[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ệunserialize [chuỗi $data , mảng $options = []]: hỗn hợp | 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. | 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ố
data
bool, int, float, string, array or object.
Chuỗi tuần tự hóa.false
is returned and $options
5 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.
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 options 1.
|
Tên
Loại hìnhunserialize[] example
options
2
allowed_classes
options
3
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 options
7 or by catching the issued $options
5.
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
options
9
allowed_classes
0
allowed_classes
1
allowed_classes
2Bấ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_classes
3
allowed_classes
4
allowed_classes
5
allowed_classes
2Tên ¶
Loại hình
allowed_classes
7
allowed_classes
8
allowed_classes
9
allowed_classes
2 allowed_classes
¶
Trộn
data
1
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. ¶
$options
0
data
2
Độ 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à $options
1 và có thể bị tắt bằng cách đặt $options
0 thành $options
3. ¶
Trộn
data
3
data
4
data
5
data
6
data
7
allowed_classes
2 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. ¶
$options
0
data
9
options
0
allowed_classes
2 Độ 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à $options
1 và có thể bị tắt bằng cách đặt $options
0 thành $options
3. ¶
Trả về giá trị
options
2
options
3
options
4
options
5
options
6
options
7
options
8
options
9
allowed_classes
0
allowed_classes
1
allowed_classes
2
allowed_classes
3
allowed_classes
4Giá 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à $options
5 được phát hành.
allowed_classes
5
allowed_classes
6
allowed_classes
7
allowed_classes
8Lỗ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_classes
9
false
0
false
1
false
2
false
3Thay đổi ¶
Trả về giá trị
false
4
false
5
allowed_classes
2Giá 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à $options
5 được phát hành.
false
7
false
8
false
9
allowed_classes
2Benbe tại Omorphia Dot de ¶ ¶
15 năm trước
true
1
true
2
true
3
true
4
allowed_classes
2Là pedersen ¶ ¶
16 năm trước
true
6
true
7
allowed_classes
2Chris Hayes [Chris tại Hypersites Dot Com] ¶ ¶
18 năm trước
true
9
true
0
true
1
true
2
true
3
allowed_classes
2suman dot jis tại gmail dot com ¶ ¶
10 năm trước
true
5
true
6
true
7
allowed_classes
2Oscarzarrus ¶ ¶
18 ngày trước
true
9
$options
00
$options
01Ẩn danh ¶ ¶
3 năm trước
$options
02
$options
03
$options
04
allowed_classes
2aderyn at nowhere dot tld ¶ ¶
19 năm trước
$options
06
MBA ¶ ¶
11 năm trước
$options
07
$options
08
allowed_classes
2Walf ¶ ¶
11 năm trước
$options
10
$options
11
$options
12
$options
13
allowed_classes
2Walf ¶ ¶
Fagzal ¶
$options
15
$options
16
allowed_classes
2