1

私はいくつかの動的なPHPWebサイトを作成することを計画しており、これらのサイトの管理者用のコントロールパネルを作成できる無料の認証システムが必要です。含まれている必要があります:

  • パスワードを覚える
  • パスワードを紛失した
  • 特定の間隔あたりの最大ログイン試行回数
  • ユーザー管理

ありがとう。

4

4 に答える 4

3

いくつかのセキュリティ上の注意:OWASP Webapp攻撃分類リストの認証および承認グループに分類される問題の多くを回避するために、選択したWebフレームワークにすでに実装されているユーザー認証サブシステムを使用してください。彼らは、認証とセッションに関連する多くの問題をカバーする安全なコードをすでに作成している可能性があり、自分で作成するものよりもはるかに安全である可能性があります。

絶対に、積極的に、自分の認証をロールする必要がある場合、または別の認証を評価したい場合。次に、あなた/彼らはこれらの規則に従わなければなりません。

  • セッションCookieで使用するために、適切にランダムで推測できないセッションIDを実装します。
  • セッションIDを強制しないでください。
  • 権限または資格情報が変更された場合(たとえば、ユーザーがより高いセキュリティにアップグレードされた場合、ユーザーはパスワードを変更しました)、すぐにセッションを無効にして、新しいセッションを開始します。
  • ログアウト機能を提供し、ログアウト時にセッションを無効にします。
  • CookieをHttpOnlyに設定します
  • 使用しない場合は常にセッションを期限切れにし、ユーザーを古いhttpセッションに再接続して「ログイン状態を維持」を実装しないでください。
  • 2つのセッションが同時に同じセッションIDを持つことができないことを確認してください
  • セッションが無効になると、すべてのセッションデータが破棄されることを確認してください。新しいユーザーがやってくると、たまたま以前に使用されたセッションIDが割り当てられる可能性があります。この新しいセッションは、そのセッションIDに対して以前に設定されたセッションデータにアクセスできないようにする必要があります。
于 2010-02-23T12:57:27.470 に答える
1

これを行うスクリプトはたくさんあります。PHPを真剣に考えている場合は、独自の認証スクリプトを作成できるはずです。

開始、チェックアウト、または単にgoogle'php authentication '(またはそれらの線に沿ったもの)を支援するために利用できるリソースはたくさんあります。

http://net.tutsplus.com/videos/screencasts/how-to-build-a-login-system-for-a-simple-website/ http://www.devarticles.com/c/a/MySQL/ PHP-MySQL-and-Authentication-101 /

ただし、常に一粒の塩でオンラインリソースを利用する必要があります。多くの場合、XSSなどのユーザー管理のセキュリティ面については触れません。

また、 CakePHPZend Frameworkなど、認証ライブラリが組み込まれているいくつかのPHPフレームワークを確認することもできます。

于 2010-02-22T23:33:55.343 に答える
1

最良のものはなく、スクリプトになり得る深刻な解決策もありません。認証はグローバルポリシーであるため、Webサイト全体と統合する必要があります。独自にコーディングするか、それを実装するフレームワークを使用してください。

独自の実装のコーディングを開始する場合、最初の試行は機密性の低いデータにのみ使用できることを覚えておいてください。これらは脆弱になるためです(ただし、カジュアルなWebサイトには十分です)。

Stooshには、フォローしたいいくつかの良いリードがあります。

これは見た目ほど簡単ではなく、明らかな解決策は安全性が低い可能性が高いことを覚えておいてください。しかし、繰り返しになりますが、おそらくCIAスタイルのセキュリティは必要ないので、ストレスを感じずにプログラミングの学習を楽しんでください

于 2010-02-22T23:41:07.133 に答える
0

初心者として、チュートリアルをグーグルで検索し、ZendFrameworkのようなPHPフレームワークの使用を検討することをお勧めします

認証は、初心者の開発者の90%が事前にパッケージ化されたソリューションを使用したいと考えているもののひとつですが、どれも十分ではありません。

独自に作成すると、開発者としての能力が向上し、次のような多くのコアWeb開発用語とテクノロジーについて学ぶことができます。

  • XSS
  • 暗号的に安全なハッシュ
  • HTTPS / SSL
  • CSRF
于 2010-02-22T23:24:43.057 に答える