-1

MySQL データベースと対話する少数のユーザーを必要とする単純な Web ベースのサービスを作成する必要があります。私は情報セキュリティにまったく慣れていないので、ユーザー名、パスワードなどを含むテーブルを作成することを考えています。

ログインは次のような単純なクエリで実行されます

SELECT username, password FROM User WHERE username=usernameGiven 
 AND password=passwordGiven

簡単なINSERT INTOクエリによる登録。これはどのくらい安全ですか?サービス内のデータはそれほど機密ではないため、セキュリティを万全にする必要はありません。

これは良い習慣ですか、それとも適度な努力でより安全にするための良いヒントを誰かに教えてもらえますか?

4

3 に答える 3

1
  • md5 などのパスワード暗号化を使用する
  • データベースと PHP アプリケーションでパスワード ソルトを使用する
  • すべての previllege を mysql ユーザーに付与しないでください。
  • エスケープされたパラメーターを使用して常にデータベースにクエリを実行する
  • mysql_* 関数を避ける
  • xss攻撃に注意

これらは、Web アプリケーションが持つべき基本的なセキュリティだと思います。グーグルでそれぞれを詳しく読んでください。他の方法もありますが、これらは私が知っていることです。

于 2013-06-05T06:49:41.433 に答える
1

パスワードを保存するのではなく、パスワード x の関数 f を保存します。y を指定すると、f (x)=y で x を見つけるのは困難です。

于 2013-06-05T06:45:47.563 に答える
0

最初にパスワードを暗号化し (md5、sha などの一方向暗号化アルゴリズムのいずれかを使用できます)、暗号化されたパスワードをデータベースに保存する必要があります。ユーザー名とパスワードを確認するには、同じ方法を使用して、入力したパスワードを暗号化し、データベース内のものと比較します。

さらに保護を追加するには、ログイン ページでキャプチャを使用して、総当たり攻撃 (一般的なパスワードの試行) からフォームを保護する必要があります。

于 2013-06-05T06:50:22.123 に答える