※ ChatGPTを利用し、要約された質問です(原文:jsでhtmlを書き換えるときのセキュリティ)
JSでHTMLを書き換える際のセキュリティについて
このQ&Aのポイント
フォームのセキュリティについて質問です。hiddenの項目を他の項目に打ち込んだ内容でリアルタイムに書き換えたい場合、入力欄に危険な処理を入力することでスクリプトが実行される可能性がありますが、現実的には起こりにくいです。
Firefoxでのテストでも問題なく送信できたため、この方法は危険な処理とは言えません。
hiddenの値をリアルタイムに自由に書き換える方法はありません。セキュリティを強化するためには入力データのバリデーションやサニタイズを行う必要があります。
フォームのセキュリティについて質問です。
<input type="hidden" name="hidden_form" id="hidden_id">
というhiddenの項目があり、その値をjqueryで、
他の項目に打ち込んだ内容をリアルタイムで書き換えようと思っています。
つまり
<input type="text" name="result" id="result_id">
という項目を用意して、この項目の入力欄に例えば「あああ」と打ち込んだとします。
そのときに、
$("#hidden_id").val($("#result_id").val());
というスクリプトを動かそうと思っています。
(jqueryのイベントをキーのタイプ時などに設定して)
このとき、入力欄に例えば
" ><script>(何か危険な処理)</script>"
と入力すれば、htmlの
hiddenの部分がクロスサイトスクリプティングの基本的な手口のように
<input type="hidden" name="hidden_form" id="hidden_id" val="" ><script>(何か危険な処理)</script>"">
というように、スクリプトを走らせられるのかなと思ったのですが、
これは現実的には起こりえるのでしょうか?
firefoxで少しやってみても、懸念している動作は起こらず、
そのまま送信しても、送信もうまくいったように見えたのですが、
これは危険な処理でしょうか?
また、危険な処理だとしたらどのような方法で、
hiddenの値をリアルタイムに自由に書き換えることが可能でしょうか?