現在の位置: ホーム> 最新記事一覧> PHPで使用されている非正規化関数は何ですか?その基本的な使用法を簡単に理解してください

PHPで使用されている非正規化関数は何ですか?その基本的な使用法を簡単に理解してください

gitbox 2025-09-25

<?php /*** PHPで使用されている非正規機能とは何ですか? PHPプログラミングでの基本的な使用量 * *を簡単に理解してください。複雑なデータ構造(配列、オブジェクトなど)をファイルまたはデータベースに保存する必要があるシナリオに遭遇することがよくあります。 *現時点では、PHPは2つの非常に実用的な機能を提供します:serialize()とunserialize()。 * * 1。unserialize関数の概要 * * unserialize()関数の関数は、serialize()を介してシリアル化された文字列を元のデータ型のphpに再構築することです。 *簡単に言えば、それはserialize()の「逆操作」です。 * *関数プロトタイプ: *混合Unserialize(string $ str [、array $ options = []]) * *パラメーター説明: * 1。$ str:必須、文字列は劣る。 * 2。$オプション:オプションで、現在、セキュリティを強化するためにクラスリストの敏dasializationを許可するために主に使用されています。 * *返品値: *シリアル化(配列、オブジェクト、文字列など)の前にデータ型を正常に返し、falseを返すことに失敗します。 * * 2。基本的な使用例 */ //例1:配列を脱却する $ serializedArray = 'a:3:{i:0; s:4: "php!"; i:1; s:3: "123"; i:2; s:6: "hello!";}' ; $ array = unserialize $ serializedArray );エコー "
"
; print_r $ array );エコー "" ; //出力結果: // 配列 //( // [0] => php! // [1] => 123 // [2] =>こんにちは! //) //例2:オブジェクトの脱骨化 クラス ユーザー{ public $ name ;公共 $ age ; } $ serializedObject = 'o:4: "user":2:{s:4: "name"; s:4: "john"; s:3: "age"; i:25;}' ; $ user = unserialize $ serializedObject );エコー "
"
; print_r $ user );エコー "" ; //出力結果: //ユーザーオブジェクト //( // [name] =>ジョン // [age] => 25 //) /*** 3。非信頼性のためのセキュリティ上の考慮事項**信頼されていないソースからのデータを処理する場合、オブジェクトインジェクション攻撃をトリガーする可能性があるため、非常に危険です。 *攻撃者は、慎重に構築されたシリアル化された文字列を介して任意のコードを実行できます。 * *セキュリティの提案: * 1。ユーザーが提供するデータを避けないようにしてください。 *2。Alapt_Classesパラメーターを使用して、脱色オブジェクトクラスを制限します。 * 3.データソースを厳密に検証およびフィルタリングします。 * *4。summary * * - unserialize()は、シリアル化された文字列を元のPHPデータに復元するために使用されます。 * - Serialize()と併せて、複雑なデータを簡単に保存および転送できます。 * - 特に外部データを処理するときは、セキュリティの問題を使用するときは、必ずセキュリティの問題に注意を払ってください。 * * Unserialize()をマスターすると、PHPでのデータの永続性とオブジェクトストレージの処理がより柔軟になります。 */ ?> <?php //記事後の無関係なPHPコード $ footer = "これは記事の後の最終独立コードです" ;エコー $フッター; ?>