セキュリティとは何ですか?
安全性は相対的な基準であり、絶対的な基準ではありません。
残念ながら、ほとんどのソフトウェア プロジェクトでは、セキュリティを単純な要件として挙げています。安全ですか?この質問に対する答えは、何かが熱いかどうかを尋ねるのと同じくらい主観的です。
セキュリティを実現するためのオーバーヘッドは妥当なものである必要があります。
ほとんどのアプリケーションでは、適切なレベルのセキュリティを簡単かつ低コストで実現できます。ただし、保護する必要がある情報が非常に貴重である場合、またはセキュリティ要件が非常に厳しい場合は、セキュリティ レベルを上げるために追加料金を支払う必要があります。このコストはプロジェクトの予算に含める必要があります。
セキュリティを実現するには、使いやすさが合理的である必要があります。
非常に一般的な現象は、WEB アプリケーションのセキュリティは大幅に向上しますが、使いやすさも大幅に低下することです。パスワード、SESSION の有効期限、アクセス制御はすべて、正規のユーザーにとって障害となります。場合によっては、アプリケーションに適切なセキュリティを提供することが必要になりますが、これがすべてのアプリケーションに対する唯一の解決策ではありません。セキュリティ ルールを適用するときは、正規のユーザーにもっと注意を払うことが賢明です。
セキュリティは設計の一部である必要があります。
アプリケーションを設計するときにセキュリティを考慮しない場合、新しいセキュリティの脆弱性が継続的に発見される運命にあります。注意深く書かれたプログラムでは、不十分な設計を補うことはできません。
アプリケーションの基本的な手順は、ほとんどが正規ユーザーのためのものです。
安全な設計はソリューションの一部にすぎません。開発中、コーディングを開始するときは、アプリケーションの正当なユーザーを考慮する必要があります。一般に、目標はアプリケーションが意図したとおりに動作するようにすることですが、適切なアプリケーション機能を実装する必要がありますが、これによってアプリケーションの安全性が向上するわけではありません。
自分自身を鍛えてください。
このガイドを読んでいる人はセキュリティを懸念しており、決まり文句のように聞こえますが、これは重要なステップです。 Web や書籍には多数のリソースがあり、その多くは PHP Security Alliance のリポジトリhttp://phpsec.org/library/に含まれています。
まず、すべての外部データをフィルターします。
データ フィルタリングは、あらゆる言語およびプラットフォームにおける WEB アプリケーション セキュリティの基礎です。変数を初期化し、外部から取得したすべてのデータをフィルタリングすることで、半分の労力で 2 倍の結果を得ることができ、低コストで、マネージャーは潜在的な重大なセキュリティ脆弱性を防止します。ホワイトリストはブラックリストよりも優れています。これは、すべてのデータは、正当であることが証明されるまでは違法であるとみなすべきであることを意味します (違法であることが証明されるまですべてのデータを合法であるとみなすよりも優れています)。