0

phpMyAdmin を使用して、ユーザーがテキストを入力し、それをテーブルに保存する単純なフォームで使用する MySQL データベースを作成します。

私はセキュリティの経験が豊富ではないので、自分が正しいことをしていることを確認したいと思っています。

基本的に、コードでデータベースにアクセスするために、データベースに挿入する権限のみを持つユーザーを作成しました。それでおしまい。コードにそのユーザーでログインして、データを挿入します。

ただし、コードでは、一見プレーン テキストでログインしているように見えますが、これは悪い考えだと確信しています。私はnew mysqli(...)ログインに使用し、ユーザーとパスワードを文字列として指定するだけです。これはプレーンテキストであり、セキュリティ上の問題ですか? もしそうなら、どうすればいいですか?

そして、ユーザーのメールアドレスを保存しています。インジェクション攻撃を防ぐためにデータをエスケープしますが、パスワードのようにハッシュ化して保存する必要がありますか?

ありがとう、私はこれのセキュリティ面を適切に処理していることを確認したいだけです. 他に心に留めておくべきことはありますか?

4

3 に答える 3

-1

個人を特定できる情報をクリア テキストで保存することは、決して良い考えではありません。双方向ハッシュでない限り、ハッシュを使用することはできません。必ずしも暗号化する必要はありませんが、少なくとも隠蔽する必要があります。

于 2013-08-18T03:15:58.647 に答える
-2

これのセキュリティ面を適切に処理していることを確認したいだけです。

いいえ、そうではありません。

挿入権限のみを持つユーザーを作成しました

これはかなり無駄な手段です。

私は一見平易なテキストでログインしていますが、これは悪い考えだと確信しています。

そうではない。厳密に言えば、他に方法はありません。

パスワードのようにハッシュ化された電子メールを保存する必要がありますか?

ハッシュからメールを取り戻す方法はありません。その目的のために電子メールが必要ない場合は、ユーザーに要求しないでください。電子メールを送信する必要がある場合は、プレーン テキスト以外の方法はありません。

インジェクション攻撃を防ぐためにデータをエスケープします

これ。あなたが間違っていることです。

エスケープは、攻撃から保護することを意図したものではなく、この目的で使用しないでください。

他に心に留めておくべきことはありますか?

多くの。
ただし、SQL セキュリティに関しては、厳密な規則が必要です。

すべての変数は、準備されたステートメントのみを介してクエリに入力する必要があります。

于 2013-08-18T07:15:21.470 に答える