2012-04-10 11 views
15

私は、ユーザーの認証と承認を必要とするサイトを構築しています。私の最初のアイデアは、Flaskフレームワークを使ってアプリケーションを書くことでした。しかし、I learned that Flask doesn't have a built in authentication system。拡張フラスコログインがありますが、この拡張機能がうまく書かれているかどうかは確認されていません。私はそれが非常に認証を間違って取得するのは簡単だと読んだ。ウェブ認証システムのロールバック

  1. 認証システムが組み込まれているDjangoやweb2pyに切り替えることをお勧めしますか?

  2. 良いWebプログラマは、通常、自分のロールアウトを試みるのではなく、試して真の認証システムを使用することを選択しますか?

  3. 認証/認可システム構築のベストプラクティスを示す良いガイドがありますか?

ありがとうございました!

+5

決して決して決して、決してあなた自身の認証計画を転がそうとしないでください。質問をするため+1。 –

+0

特別な要件(シングルサインオンなど)がありますか、HTTPSページでの基本的なユーザー名/パスワード認証が必要ですか? –

+2

@AdamLissあなたがしなければならないことを知っていない限り、あなたはそれを本当に頑強にする方法を理解しており、誰かがあなたに支払っています。 – Marcin

答えて

6

Webサイトにユーザーログイン機能(つまり、認証と承認)を追加する場合は、既存のフレームワークを使用します。セキュリティの専門家でなければ、システムを安全にする確率は0に近くなります。これは、プログラムする言語と、使用しているフレームワークに関係なく適用されます。

残念ながら、この質問には次のような回答があります。「これは初心者の方には難しいことではありません。コードを書くのが面倒ではありません。データを保存する場所が必要です(mysqlデータベースを考えてみましょう)。暗号化されたバージョンのパスワードなどを保存する "この回答は完全に間違っています。

利用可能な無料の認証フレームワークがあります。使用してください。たとえば、Djangoとweb2pyには、認証システムが組み込まれています。多くのフレームワークには、組み込みの認証(例:Flask、webpy)はありません。これはあなた自身のフレームワークを公開すべきではありません。それは、あなたがサードパーティの認証ソフトウェアを見つける必要があることを意味します。 Flaskには、Flask-loginがあります。

だから、私の元の質問への答えは、次のとおりです。

1)はい、または検証サードパーティのソフトウェアシステムを統合します。

2.)はい、ベストプラクティスには、あなた自身の認証システムを書いてはいけないと言われています。すでに構築されているものを使用してください。

3)認証システムを構築するためのガイドは必要ありません。なぜなら、認証システムを構築するべきではないからです。しかし、OWASPは素晴らしいセキュリティリソースです。

ここに簡単な要約を示します。 独自の認証システムを作成しないでください。信頼できる既製の認証システムを使用してください。 Pythonで使用できる認証システムの推奨事項があれば、投稿してください。

関連する問題