いいえ、リモートで安全ではありません。Cookie がプレーン テキストで保存されないという保証はありません (実際、ほとんどの実装では、Cookie はプレーン テキストとして保存されます)。
Cookie を傍受した人は誰でもアプリケーションにアクセスできるため、「remember me」は本質的に安全ではありません。しかし、ユーザーのパスワードを公開することは、セキュリティのはしごをさらに一歩下げることになります。:-) そして、もし彼らが見つけたら、おそらくユーザーを本当に怒らせるでしょう.
サーバー上のテーブル以外では、ユーザーのアカウントに (他の) 方法で関連付けられていないトークンと組み合わせたユーザーのアカウント名を組み込んだ暗号化された Cookie 文字列を使用します。ユーザーがサイトに戻ると、Cookie を復号化し、そのトークンが実際にそのアカウントに関連付けられているかどうかを調べます。トークン (および Cookie) は、すべての自動ログインを変更し、その自動ログインに使用されたものを無効にします。(複数の場所からの自動ログインを可能にするために、トークンとアカウントの間には多対 1 の関係があります。必要に応じてこれを制限できます。) X 日以内に使用されない場合、トークンはタイムアウトになります。(これは、Cookie の期間を制限することによって行われるだけでなく、サーバー側でも行われます。) 生活を少し楽にするために、他にもいくつかのことを入れています。Cookie を解読しようとしたり (復号化に成功した場合)、盗んだ Cookie を使用したり (復号化を必要としない) することは困難ですが、やり過ぎても意味がありません (繰り返しますが、「remember me」は本質的に安全ではありません)。
堅牢なセキュリティが実際には (明らかに) 必要なく、多数の動的 IP クライアントがあるサイトで使用するため、IP にロックダウンしようとはしません。しかし、IP にロックダウンしても安全にはなりません。攻撃面を少し減らすだけです。
Cookie にユーザー名が含まれている理由を不思議に思われるかもしれません。単純な「記憶」の目的で、暗号化されていても、そこに置くことはお勧めしません (結局のところ、ユーザー名とパスワード システムの認証ペアの半分です)。この質問でこれをどのように行ったかを思い出してフォーマットを見たとき、クッキーにそれを見つけて少し驚きました。しかし、なぜそれがそこにあるのかを説明するコメントを見て、「私を覚えている」とは無関係の理由があります(後から考えると、必ずしも説得力のある理由ではありませんが、理由があります)。
最後に、「remember me」が本質的に安全でないという事実は、サイト ログが非常に重要であり、重要なアカウント情報の変更を許可するプロセスでパスワードの再確認を要求する必要がある理由の 1 つです (変更を難しくするため)。アカウントの所有権を取得するために Cookie を盗んだ人)。