コンソールからDOMから新たに手が加えられたら無効化したいです
ページをロード後、新たにappendやらJSの記述がされて、既存の記述に手を加えらえるのを防ぎたいです
どうすれば防げるのでしょうか
また、なぜいつまでもたってもホームページのソース(データ)を保護するという観点が生まれていないのか、その理由を聞きたいです
第三者が手を加えられる状況は1番まずいと考えるのが普通ではないのでしょうか
開発者側でなんとかする問題ではなく、デベロッパーツールなるものを搭載したブラウザ側の問題だと思うのですが?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
なぜいつまでもたってもホームページのソース(データ)を保護するという観点が生まれていないのか
逆にそれがなぜ必要なのでしょうか。サーバサイドはデータを発信するまでが役割であって、得たデータを受け手がどうしようが、何らの問題もないはずです(もしそれで不正な操作が行えるのであれば、サーバサイドで防げばいいだけです)。
投稿2022/07/01 03:53
編集2022/07/01 03:53総合スコア145121
0
ベストアンサー
要素に関しては、元からある要素と勝手に足された要素を区別する手段があれば、MutationObserver
で監視して足されたものを消すことは可能かもしれません。しかし、既存の要素の属性を書き換えられると元に戻せませんし、既存の要素を消されると元に戻せません。変更を検知したらリロードしてしまう、などの対処になってしまうかもしれません。
どんなクライアントでもアクセスできる以上、クライアント側に渡ったデータを守ろうとしても無駄なので、そのようなことに手間をかけることは通常はしないでしょう。
投稿2022/07/01 04:07
総合スコア20670
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ウェブブラウザ+HTTP+ウェブサーバーの仕組みに限らず、電子メールやftpやssh等も「サーバーとクライアントの間でのプロトコルだけ決めておくので、サーバーもクライアントもそれぞれ好きにして」という仕組みです。
オープンな仕組みという物はそういう物なので、オープンな仕組みが考えに合わないと言うことであれば、HTTPのようなオープンなアプリケーションプロトコルを使わず、独自に秘密の通信プロトコルと、サーバープログラム、クライアントプログラムの設計をすることになるかと思います。
デベロッパーツールなるものを搭載したブラウザ側の問題だと思うのですが?
ブラウザの開発者ツールがあってもなくても、HTMLはクライアント側で好きに加工できるということは理解されていますか?
投稿2022/07/01 17:02
編集2022/07/01 17:04総合スコア84423
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/02 01:38 編集
0
なぜいつまでもたってもホームページのソース(データ)を保護するという観点が生まれていないのか、その理由を聞きたいです
類型的な XSS で混入される不正なコードは、ブラウザから見るとサーバから送信された正当なスクリプトの実行結果に見えるので、DOMの変更をブロックしても防げないです。
類型的な CSRF は、そもそもスクリプトの実行ではなくて不正なリクエストの発行ですので、なんでしたらそもそもDOMを通す必要さえないため、DOMの変更とは関係ないです。
現状のブラウザのセキュリティは、第三者が「クライアントユーザーを偽装してリクエストをする」または「サーバから送信された正当なコードを偽装してスクリプトを実行する」ことなど、「偽装」を防ぐことに注力しています。
ブラウザの攻撃は「偽装」によってやってくるので、「サーバ発行ではないDOMの変更をブロックする」という対策をしても、そもそも「サーバ発行」であると「偽装」しているので効果が薄い、ということです。
もちろん、「サーバ発行のDOM変更もブロック」すれば全ての「偽装」をブロックできますから、セキュリティを多少は強化できるとは思います。
実際のところ、20世紀のインターネットはそのようなものでした。お若い方には信じられないかと思いますが、「JavaScriptはオフが常識」という時代がしばらくあったのです。DHTML などはパソコンオタクの趣味のセカイであって、大抵のユーザーには JavaScript など不要のものであったのです。
しかし、21世紀の現在にそれでは、Googleマップ もなにも動かなくなってしまいます。いまさらそこへは戻れないでしょう。
最近メジャーブラウザで実装されたコンテンツセキュリティポリシーは、<script>
要素などで書かれたインラインスクリプトの実行をブロックするなど強力なスクリプト制御ができますが、こちらでもコンソールでのスクリプト実行はブロックしません。また、対応していないブラウザでは素通しです。
投稿2022/07/01 08:35
総合スコア35869
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/01 03:55 編集
2022/07/01 03:57
2022/07/01 04:05 編集
2022/07/01 04:06
2022/07/01 04:14 編集
2022/07/01 04:13
2022/07/01 04:15
2022/07/01 04:24 編集
2022/07/01 04:28
2022/07/01 04:33 編集
2022/07/01 04:38
2022/07/01 04:39 編集
2022/07/01 04:44 編集
2022/07/01 04:46 編集
2022/07/01 04:47
2022/07/01 04:50
2022/07/01 04:55 編集
2022/07/01 05:07