do_akiさん「mysqlnd 徹底解説」
do_
PHPとMySQLの間のアクセスは,
libmysql vs mysqlnd
do_
- libmysqlclient:Oracleによって開発
- mysqlnd:PHP communityによって開発
したがって,
なぜ似たような機能をもつものが2つあるのか,
また,
mysqlndの内部
プリペアドステートメントを使う際,
また,
- libmysqlではMySQLから返ってくるデータに対し二回変数コピーが走っているイメージ
- mysqlndは単純にデータをそのままPHPスクリプトに返す
ただ見た目上のメモリ
最後に結論として,
徳丸浩さん「安全なPHPアプリケーションの作り方2014 ~必要最低限のセキュリティ対策はこれだ~」
徳丸浩さんは,
PHP自体の脆弱性
IPA
たしかに比較演算子などはゆるい部分もあったり,
この対策に対する基本的な選択肢は,
- PHPバージョンアップにとことん付き合う
(毎月確認する) - 影響を受ける脆弱性がある場合のみバージョンアップする
- LinuxディストリビューションのパッケージとしてPHPを導入してバッチを適用する
また,
アプリケーションの脆弱性を対処しよう
次に,
続いて,
「出力をエスケープしましょう」
また,
最後にSQLインジェクションを取り上げました。最近になって,
具体的な対応法は,
- プレースホルダーを使いましょう
- 静的のほうがよい
- 接続時に文字エンコーディングを必ず指定する
その他,
まとめ
アプリケーション脆弱性対策は,