0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Webストレージの使用方法

最近のブラウザではCookieより高機能なストレージとして、Webストレージが使われています。
ただし使い方によってはセキュリティインシデント発生の可能性を孕んでいるため注意が必要です。

Cookie

  • 期限の設定
    javascriptのexpiresで設定が可能
document.cookie = 'dummy'; 
expires=Mon, 30 Nove 2022 00:00:00 GMT';
  • javascriptからのアクセス
    HttpOnly属性で制御可能

Webストレージ_localStorage

  • 期限の設定
    設定はできず、無期限に保存される

  • javascriptからのアクセス
    常にアクセスが可能で、制御できない

Webストレージ_sessionStorage

  • 期限の設定
    設定はできず、タブを閉じるまで継続する

  • javascriptからのアクセス
    常にアクセスが可能で、制御できない

保管に適した情報の種類

以上のように、Webストレージは任意の有効期限も設定できず、javascriptからのアクセスを制御することが出来ません。
XSS(クロスサイトスクリプティング)攻撃を受けた際は、情報を奪取されてしまうため保存する情報には注意を払う必要があります。

  • Webストレージに保存してはならない情報
    • アクセストークン
    • パスワード
    • 個人情報

まとめ

XSSされる時点でより危険な情報が攻撃者に奪取されるのだから、別に気にする必要はない。といった意見もありますが個人的な意見としては、抑えられるリスクは少ないに越したことはないのでWebストレージには漏洩しても構わない情報しか入れない方が良いのではないかと考えています。
アクセストークン等を保存することでUXを高めるのは間違いないので、そういった情報はjavascriptからのアクセスを禁止できるCookieで保持することをお勧めします。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?