なぜローカルストレージやクッキーがクライアントサイドで編集可能にしているのか

クライアント側でローカルストレージやクッキーの内容を編集しようなんて考えるのは悪意を持ったユーザーくらいしかいないと考えますが違いますか。

そもそもサーバ側ではローカルストレージを編集することはできないのでは?
サーバ側から送信したコードをクライアント側で実行することによってローカルストレージを変更しているはずなので、全てクライアント側で変更されているかと思います。


なぜサーバー側で発行したデータをブラウザのクライアント側で任意のデータに書き換えれるようにしてるんですか?

上記の通り、ローカルストレージはクライアント側でしか変更できないので。

もし、ここで言う「クライアント側」に「サーバ側から送信したコードのクライアント側での実行」が含まれていないのであれば、「開発者ツールやブックマークレットなどで実行されたコードと、サーバ側から送信したコードと、区別がつかないから」が回答になるかと思います。

これを防ぐには、開発者ツールでのスクリプト実行を禁止する他、真正性を判断できないスクリプト(CDNなどの第三者のコード)の実行をすべて禁止する必要があるかと思います。
さすがにそれは不便ですので、CSPなどのXSS対策の仕組みを使って対応しているのだと思います。

コメントを投稿

0 コメント