Cookieって自分で弄れるみたい。
あ!野生のエンジニアが飛び出してきた!
細音希だ!
今回は、ブラウザに保存されたCookieを自分で弄る方法についてです。
Webサービスの管理画面、普通ならば専用のログインページから管理者アカウントでログインして使うんですが、個人運用のサービスなら管理者なんて一人しかいないのに、データベースにアカウントのテーブルを追加して、ログインとかアカウント作成とかの機能を作るの、面倒じゃないですか。
なので、ログイン情報を最初からブラウザに手入力して保存しておいて、その情報で管理ページにアクセスできるようにしようと思います。
まず、一般的なアカウントのログインには、セッションとかCookieとかが使われます。
単純な仕組みだと、
- アカウントのログイン時にサーバーでトークンを生成
- トークンをブラウザのCookieに保存し、次回からリクエストにトークンを乗せてアクセスする
- サーバーはそのトークンからアカウントを判別して、アカウント固有のレスポンスを返す
という感じです。
普通、Cookieにデータを保存したり、リクエストにCookieのデータを乗せたりするのは自動で行われるので、普段気にすることはありません。
これを応用して、Webサービスの管理ページにアクセスしてみましょう。
普通、ログイン時にトークンが生成され、自動でそれがブラウザに保存されますが、それを手動でやってみます。
まずはChromeで開発ウィンドウを出します。
Applicationのタブを開くと、Cookiesというのがあるので、選択します。
▶マークを展開するとページのドメインが表示されるので、それをクリック。
すると、右側にCookieの内容が表示されます。
この内容はそのまま編集したり追加したりできます。
ここに、事前に決めておいたキーと値を入力してしまいましょう。
あとは、普通に管理者用のページにアクセスすれば、入力したCookieがサーバーに送信され、バックエンドで管理ページを表示できるかどうかの判断ができます。
パソコンごと盗まれなければログイン方法はバレないので、簡易的ですがセキュリティは問題ないと思います。
お わ り
この記事が気に入ったらサポートをしてみませんか?