12

私は、Web アプリケーションの非常に優れたセキュリティを提供し、OWASP Top-10 から可能な限り保護するフレームワークを選択しようとしています。

  • SQL インジェクション
  • XSS
  • CSRF
  • 認証
  • 認可

問題は、Cakephp、Zend、Yii、Code Igniter、Kohana、およびいくつかは基本的な認証を備えており、おそらく少しの承認がありますが、堅実なコードセキュリティを必要とするアプリケーションには何もありません.

上記のタイプの脆弱性のほとんどは、現在、これらのフレームワークでカスタム コードを記述するだけで保護されていますか?

フレームワークを使用するのはこれが初めての経験です。この時点までのすべてがカスタム php Web アプリでした。php-frameworks に対する私の全体的な考えは、ネイティブではないことを考えると、これらの脆弱性から簡単に保護できるだろうということでした。なぜそれを使用するのでしょうか? または、強力な Web アプリケーション セキュリティのために上記のリストよりも優れている、私が見ていないフレームワークがありますか? ありがとう

4

3 に答える 3

12

セキュリティは、一部のベニアのようなアプリケーションには適用できません。それぞれの種類のセキュリティ問題は別の方法で対処され、ほとんどの PHP フレームワークは安全なコードを書くためのツールを提供します:

  • HTML インジェクション / XSS と戦うには、デフォルトで値をエスケープするテンプレート エンジン (Twig など) を使用するか、HTML を表示するためのコンポーネント駆動型のアプローチが必要です。人々が自分のファイルをアップロードし、それらを自分のドメインから提供できるようにする場合、フレームワークは役に立ちません (そのためには別のドメインを使用する必要があります)。

  • クエリ パラメータをエスケープする db ヘルパーを使用することで、SQL インジェクションを回避できます。あなたが言及した各フレームワークはそれらを提供します(もちろん、プレーンなPDOを使用できます)。

  • セッション バインド トークンを使用して、CSRF と戦うことができます。各フレームワークは、いくつかのソリューションを提供します。ただし、いずれの場合も、何らかの方法でフレームワークを支援する必要があります (各フォームにトークンを追加するか、フレームワークによって提供されるフォームの抽象化を使用することにより)。

ある意味で - はい、セキュリティについて考える必要があります。画面上でカラフルなボックスをドラッグするだけでアプリケーションを設計できるという大きなパラダイム シフトが起こらない限り、HTML や SQL などの汚れた安全でないものに触れないでください。どのようなサポートを期待しますか?

于 2012-10-25T17:46:12.263 に答える
9

CodeIgniter も試してみてください。

また、CodeIgniter は、フレームワークを初めて使用する場合でも簡単に使用でき、非常に理解しやすい優れたユーザー ガイドがあります。

編集: 2019年もここで賛成票を獲得しているので、 https : //laravel.com/を確認してください

于 2012-10-25T17:37:56.203 に答える
1

あなたが言及した主要な脆弱性は、さまざまなレイヤーで発生し、時には複数のレイヤーで発生し、多くの場合、あなたが行っていることのコンテキストに依存しているため、多くの脆弱性はこのようなものから保護するための機能を提供しますが、それを利用する必要があります.

たとえば、Symfony (1.x および 2) と Zend Framework の両方に、CSRF をそのまま実装するフォーム コンポーネント/サブフレームワークがあります。しかし、それはデフォルトで有効になっているという意味ではありません (symfony は... zf が有効かどうかは覚えていません)。ビューレイヤーの出力エスケープ側について話すとき、XSS と同じことが言えます。

大きなアプリのフレームワークの好みに関して言えば、個人的には Symfony 1.x と Symfony2、Zend Framework 1.x が好きです (zf2 についてはまだ触れていないので言及しません)。シンプルなことなら、Silex (Symfony コンポーネントに基づく) が好きです。

于 2012-10-25T17:34:42.020 に答える