ログイン関数は一般的にどのように書かれていますか?
私が知っている方法は、ユーザー名を使用してパスワードを照会し、それが正しければログインに成功し、Cookie を使用してユーザー ID とユーザー名を保存することです。
これは少し簡単ではありませんか?次のステップは何ですか?
------解決策----------------------
これが彼らのやっていることです!
ユーザーを通じてデータをクエリし、データ内のパスワードを比較します。パスワードは暗号化されています。
COOKIES 部分は機能しません。方法が単純すぎます。ユーザー UID と時間 IP フラグを含めて暗号化する必要があります。
アクセスすると、プログラムはCOOKIEに基づいてデータを復号し、データベースと比較して同一人物がログインしているかどうかを確認します
-----解決策--- ------ ----------
権限の検証などを追加する必要があるかもしれません。一般的なアプリケーションには権限管理モジュールが含まれます。ログイン時に権限を確認することは避けられません。詳細については、いくつかのソースコードを参照してください。
------解決策------------------
最も簡単な方法は、ユーザー名とパスワードを確認することです。を追加すると、同時にログインできないことを追加できます。
ユーザーが入力する回数を制限することもできます。ユーザー名またはパスワードが間違っていると、一定時間ログインできなくなります。実はよく考えてみると、ログイン機能にはまだまだ追加できることがたくさんあります。 。
------解決策---------
SQL インジェクションの問題に注意し、
SELECT count(*) FROM user WHERE un = 'xxx' and pw = 'xxx'
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
このメソッド
は、まず指定されたユーザー名
SELECT pw FROM user WHERE un = 'xxx'
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
をクエリし、返された結果の数がゼロより大きいかどうかを判断します
次に、パスワード (pw ) 正しいかどうかを判断します。
------解決策------------------
これは正しいです、これは基本的なログイン機能の実装方法
初心者ですが、ログイン状態では Cookie は使用されない場合はどうなるのかを説明します。使用されていますか? Cookie がインターネット上の攻撃に対して脆弱であることを考えたことはありますか? もちろん、パスワードは保存しないでください。セキュリティ上の理由から、session.cookie_httponly も設定されます。検証コードに関しては、一度間違って入力した後で、失敗したユーザーのログインをカウントするのが最もユーザーフレンドリーな方法です。必要に応じてロックし、1 時間後に再び操作できるようになります。
------解決策---------