0

作成しているチャリティーWebサイトにログインフォームを作成したい(友人向けで、外出先で学習しています)。ユーザーのログインと情報用のデータベースを作成するために、どの言語/ソフトウェアを学習すればよいか知りたいです。 ?注:中程度のプログラミング経験を持つ人にとっては、安全で比較的簡単に習得できる必要があります。

更新:CMSがログインなどに適したツールを提供していることは理解していますが、これはすべて自分で行いたいと思います。

4

1 に答える 1

5

最も簡単な方法は、パスワードをデータベースに入力する前に、パスワードをハッシュしてソルトを適用することです。「TheWickedFlea」は、ここにある別の質問でかなり良い答えを持っています。

既成のCMSを入手することを考えたことはありますか?ほとんどのまともなCMSには、単純なチャリティーWebサイトに必要なすべての機能が含まれている必要があります。また、ログインフォームの問題に対する確実な解決策も提供します。

編集

使用する言語については。あなたがそれに慣れていて、時間と労力を費やすことをいとわない限り、それは本当に重要ではありません。それはあなたがPHPを学びたいと思っていることをあなたのプロフィールに示しています。PHPでログインフォームを書くことは良い出発点になるように見えます。データベースのバックエンドについて。繰り返しますが、それは実際には重要ではありません。MSAccessは使用しないでください。ほとんどのPHP開発者(想定)は、MySQLが通常PHP Webホストに含まれているものであるため、MySQLを使用しているようです。

セキュリティについては、ハッシュ化してパスワードにソルトを追加することが、最も簡単な方法です。あなたはこのようなことをすることができます:

  • ユーザーがサインアップリンクをクリックする
  • SSLを使用してサインアップフォームを表示する
  • ユーザーが送信ボタンをクリックすると
  • ハッシュパスワード。塩を加えます。データベースに保存します。ハッシュされたパスワードにソルトを追加すると、攻撃者がレインボーテーブルを使用してパスワードをブルートフォースするのを防ぐことができます。パスワードのハッシュを処理する関数については、こちらをご覧ください。
  • また、ユーザーに特定のルールでパスワードを作成するように強制することもできます。たとえば、すべてのパスワードが6文字より大きく、少なくとも1つの数字である必要があります。

ユーザーがログインする必要がある場合は、次のような操作を実行できます。

  • ユーザー名を取得してサニタイズします。ユーザーの入力を絶対に信用しないでください。神ご自身があなたのウェブサイトにアカウントを望んでいるかどうかは関係ありません。
  • パスワードをエスケープして、アカウントを持たない人がSQLインジェクションを介してアクセスできるようにします。これは、PHPのmysql_real_escape_string関数を使用して実行できます。
  • すべてが整ったら、データベースにクエリを実行して、返される行があるかどうかを確認できます。

最後に、パスワードをプレーンテキストでユーザーに電子メールで送信しないでください。ユーザーがパスワードを忘れた場合は、単に新しいパスワードの作成を許可してください。これを行うには、ユーザーに電子メールでリンクを送信します。これにより、ユーザーはそうすることができます。

正直なところ、最善の策は、おそらくこのタスクを完了し、コードを使用してSOに投稿(新しい質問)することです。そこから分析して、そこから取得できます。

それらの線に沿った何かがあなたの要件を満たすはずです。

于 2010-07-25T05:12:19.880 に答える