Webサイトにユーザーログイン機能(つまり、認証と承認)を追加する場合は、既存のフレームワークを使用します。セキュリティの専門家でなければ、システムを安全にする確率は0に近くなります。これは、プログラムする言語と、使用しているフレームワークに関係なく適用されます。
残念ながら、この質問には次のような回答があります。「これは初心者の方には難しいことではありません。コードを書くのが面倒ではありません。データを保存する場所が必要です(mysqlデータベースを考えてみましょう)。暗号化されたバージョンのパスワードなどを保存する "この回答は完全に間違っています。
利用可能な無料の認証フレームワークがあります。使用してください。たとえば、Djangoとweb2pyには、認証システムが組み込まれています。多くのフレームワークには、組み込みの認証(例:Flask、webpy)はありません。これはあなた自身のフレームワークを公開すべきではありません。それは、あなたがサードパーティの認証ソフトウェアを見つける必要があることを意味します。 Flaskには、Flask-loginがあります。
だから、私の元の質問への答えは、次のとおりです。
1)はい、または検証サードパーティのソフトウェアシステムを統合します。
2.)はい、ベストプラクティスには、あなた自身の認証システムを書いてはいけないと言われています。すでに構築されているものを使用してください。
3)認証システムを構築するためのガイドは必要ありません。なぜなら、認証システムを構築するべきではないからです。しかし、OWASPは素晴らしいセキュリティリソースです。
ここに簡単な要約を示します。 独自の認証システムを作成しないでください。信頼できる既製の認証システムを使用してください。 Pythonで使用できる認証システムの推奨事項があれば、投稿してください。
決して決して決して、決してあなた自身の認証計画を転がそうとしないでください。質問をするため+1。 –
特別な要件(シングルサインオンなど)がありますか、HTTPSページでの基本的なユーザー名/パスワード認証が必要ですか? –
@AdamLissあなたがしなければならないことを知っていない限り、あなたはそれを本当に頑強にする方法を理解しており、誰かがあなたに支払っています。 – Marcin