Cookieって自分で弄れるみたい。

あ!野生のエンジニアが飛び出してきた!

細音希だ!

今回は、ブラウザに保存されたCookieを自分で弄る方法についてです。

Webサービスの管理画面、普通ならば専用のログインページから管理者アカウントでログインして使うんですが、個人運用のサービスなら管理者なんて一人しかいないのに、データベースにアカウントのテーブルを追加して、ログインとかアカウント作成とかの機能を作るの、面倒じゃないですか。

なので、ログイン情報を最初からブラウザに手入力して保存しておいて、その情報で管理ページにアクセスできるようにしようと思います。

まず、一般的なアカウントのログインには、セッションとかCookieとかが使われます。

単純な仕組みだと、

​- アカウントのログイン時にサーバーでトークンを生成

- トークンをブラウザのCookieに保存し、次回からリクエストにトークンを乗せてアクセスする

- サーバーはそのトークンからアカウントを判別して、アカウント固有のレスポンスを返す

という感じです。

普通、Cookieにデータを保存したり、リクエストにCookieのデータを乗せたりするのは自動で行われるので、普段気にすることはありません。

これを応用して、Webサービスの管理ページにアクセスしてみましょう。

普通、ログイン時にトークンが生成され、自動でそれがブラウザに保存されますが、それを手動でやってみます。

まずはChromeで開発ウィンドウを出します。

Applicationのタブを開くと、Cookiesというのがあるので、選択します。

画像1

▶マークを展開するとページのドメインが表示されるので、それをクリック。

すると、右側にCookieの内容が表示されます。

画像2

この内容はそのまま編集したり追加したりできます。

ここに、事前に決めておいたキーと値を入力してしまいましょう。

あとは、普通に管理者用のページにアクセスすれば、入力したCookieがサーバーに送信され、バックエンドで管理ページを表示できるかどうかの判断ができます。

パソコンごと盗まれなければログイン方法はバレないので、簡易的ですがセキュリティは問題ないと思います。

お わ り

この記事が気に入ったらサポートをしてみませんか?