ja:rule:ser:無用なserialize:unserialize_は利用しない
Differences
This shows you the differences between two versions of the page.
| ja:rule:ser:無用なserialize:unserialize_は利用しない [2016/12/28 03:35] – created yohgaki | ja:rule:ser:無用なserialize:unserialize_は利用しない [2017/10/25 08:10] (current) – yohgaki | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== 外部データにserialize/ | ====== 外部データにserialize/ | ||
| - | PHPのserialize/ | + | PHPのserialize/ |
| + | |||
| + | <note important> | ||
| + | </ | ||
| ===== 非適合コード例 ===== | ===== 非適合コード例 ===== | ||
| - | [ルール/推奨事項に適合しないコードおよびその解説。複数あってよい。] | + | <code php> |
| + | $mydata = unserialize($_GET[' | ||
| + | </ | ||
| + | |||
| + | ===== 適合コード例 (JSONの利用) ===== | ||
| + | |||
| + | JSONを利用する場合、不正なオブジェクトの注入は不可能になり、メモリ管理の不具合のリスクはほぼ無くなります。 | ||
| + | |||
| + | <code php> | ||
| + | $mydata = json_decode($_GET[' | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | ===== 適合コード例 (HMACなどの利用) ===== | ||
| + | |||
| + | HMACやHKDFで改ざんされていないこと検証している場合、信頼可能である。 | ||
| + | |||
| + | <code php> | ||
| + | if ($_GET[' | ||
| + | throw new Exception(' | ||
| + | } | ||
| + | |||
| + | $mydata = json_decode($_GET[' | ||
| + | </ | ||
| - | ===== 適合コード例 ===== | + | この例の場合、HMACで改ざんを検出しているので不正なデータやオブジェクト、攻撃用データが挿入されていないことを保証できる。 |
| - | [ルール/推奨事項に適合するコードおよびその解説。複数あって構わない。その場合、セクション名の後に" | + | <note warning> |
| + | <note tip> | ||
| ===== 例外 ===== | ===== 例外 ===== | ||
ja/rule/ser/無用なserialize/unserialize_は利用しない.txt · Last modified: 2017/10/25 08:10 by yohgaki
