好きなようにログイン


実现メンバーが加入し、登录しました!
思ったより会員費のある機器にデータを格納しやすいので、登録時にそのデータの値を区別するのは難しいです.(もちろん…たぶん…そうか…?
とにかく.複数のブログや他の研究者のコードを見て試してみると、ログイン自体を実現するのは難しくありませんが、私が望んでいるのはうまく実現していません.
🐯 実現したい.
すなわち、
  • の登録に失敗した場合に警報を発し、会員を加入させて自然に案内する.
  • 簡単な戻り値ではなくalertに選択権を与えようと思っていましたが、調べてみるとformや他の機能を多く使って実現されていましたが、私の実力ではブログ自体の内容をまだ知らない技術が多く、一つ一つ調べるために頭の中もはっきりせず、理解もできませんでした.ㅠㅠだから自分なりの方法で実行してみました...!とにかく正解はないと思います…!ハハハ
    🥭app.py
    ## flask에서 세션을 사용하기 위한 설정값
    app.secret_key='skdud'
    
    ## 로그인
    @app.route('/login', methods=['GET','POST'])
    def login():
        if request.method=='GET':
            return render_template('login.html')
        else:
            id = request.form['id']
            pw = request.form['pw']
            users = db.surfusers.find_one({'id': id, 'pw': pw})
    
            if users is None :
                return redirect('loginfail')
            else:
                session['user'] = id
                return redirect('/')
    🚩 セッションとredirectを使用するためには、必ずインポートして使用してください!
    サーバにセッション値を指定するには、鍵を設定する必要があります.
    🚨 ここで待って!セッション.クッキー?
    Cookie(cookie)
    クッキー?
  • スモールデータファイル
  • クライアントがローカルに格納した鍵と値を含む
  • ユーザー認証は有効時間を指定できます.有効時間が決定された場合、ブラウザが閉じても認証は変更されません.
  • クライアントには最大300個のCookieが格納され、ドメインごとに20個の値しか格納されず、1個のCookie値は最大4 KB格納されます.
  • 応答ヘッダでset-cookieプロパティを使用すると、クライアント上でCookieを作成できます.
  • ユーザーが個別に要求していない場合でも、ブラウザは要求時に要求ヘッダを追加し、自動的にサーバに送信します.
  • さぎょうモード
  • クライアント要求ページ
  • サーバにCookie
  • を作成
  • httpヘッダはCookieを含み、応答
  • のブラウザが閉じたときにCookieが期限切れになった場合、クライアントは
  • を保持します.
  • などのリクエストはCookieとともにhttpヘッダに送信されます
  • サーバからCookieを読み出して以前の状態情報を変更する必要がある場合、Cookieを更新してhttpヘッダに変更後のCookieを含める、応答
  • .
  • ログイン時、「あなたのIDとパスワードを保存しますか?」
  • ショッピングバスケット
  • 自動登録
  • ポップアップ「今日はこのウィンドウを見ない」
  • セッション
    セッション.
  • Cookieに基づくが、Cookieとは異なり、サーバ側が管理する.
  • サーバは、クライアントにセッションIDを提供し、Webブラウザがサーバに接続されてブラウザを終了するまで認証状態を維持する.
  • ユーザー情報をサーバ上に置くため、Cookieよりも安全ですが、ユーザーが多ければ多いほど、サーバのメモリ容量が大きくなります=同時にアクセスするWebサイトでは、サーバのオーバーロードがパフォーマンスの低下の主な原因となります.
  • セッションid:クライアントが要求を発行すると、サーバ上のエンジンはクライアントに一意のidを付与します.
  • さぎょうモード
  • クライアントは、サーバへの接続時にセッションIDを取得する.
  • クライアントはCookieを使用してセッションidを格納します.
  • クライアントがサーバに要求すると、このCookieのセッションIDがサーバに転送されて使用されます.
  • サーバは、セッションIDを受信し、このIDを使用してクライアント情報を取得する.
  • は、この情報を使用して要求を処理し、クライアントに応答する.
  • セキュリティ・クリティカル・タスク(ログインなど)の実行
    保存したdbでデータを見つけたいのですが、そのデータがない場合(会員に加入していない場合)はアラートウィンドウを開きますが、効果は望ましくありません.ううう
    🚨 解決策:上記のデータがない場合にこのファイルに接続するために、ログインしていないファイルをもう1つ作成します.
            if users is None :
                return redirect('loginfail')
    🥭loginfail.html
        <script>
             $(document).ready(function () {
                 alert('회원 정보가 일치하지 않습니다.')
                 moveletin()
                });
    
             function moveletin() {
                 let result = confirm('회원가입 하시겠습니까?');
                 if(result) {
                     window.location.href = 'letin'
                 } else {
                     window.location.href = 'login'
                 }
             }
    
        </script>