99:フレームワークの機能を知ろう¶
フレームワークが提供する多くの機能は、安全性が考慮されています。 しかしフレームワークをよく知ろうとせずに、似たような機能を独自に実装したり、安全性のための処理を回避する実装をしてしまうと、大きな問題になることがあります。
具体的な失敗¶
HTMLを動的にレンダリングするテンプレートエンジンでは、インジェクション対策として埋め込むデータをエスケープ処理しています。 この動作を変更してHTMLやJavaScriptをそのまま扱うようにしてしまうと、思わぬところから攻撃用のタグやスクリプトを埋め込まれてしまいます。 一般に公開するシステムではなく利用者が全員社内のメンバーだとしても、そのメンバーが使い方を間違わない保障はありません。
(中略)詳細は書籍 自走プログラマー をご参照ください
コラム: 安全なウェブサイトの作り方
IPA 独立行政法人 情報処理推進機構 が作成している、以下のドキュメントが参考になります。
安全なウェブサイトの作り方 https://www.ipa.go.jp/security/vuln/websecurity.html
安全なウェブサイトの運用管理に向けての20ヶ条 ~セキュリティ対策のチェックポイント~ https://www.ipa.go.jp/security/vuln/websitecheck.html
こういった 制約を回避する実装 や 同等機能の独自実装 は、フレームワークの理解不足によって発生します。 Q&Aサイトや個人blogの情報を鵜呑みにして実装してはいけません。 役に立つことが多いQ&Aサイトにも、間違った情報や安直な回答があることを忘れないようにしましょう。
ベストプラクティス¶
フレームワークの機能を知りましょう。フレームワークの制約に従いましょう。
(中略)詳細は書籍 自走プログラマー をご参照ください