それは本当に依存します。
攻撃者はブラウザで必要なものを何でも変更できるため、フロントエンドにどれだけサニタイズを加えても問題ありません。攻撃者は、すべての JavaScript 関数などを巧みに回避して、フロントエンド コードを回避できます。
フロントエンドでの入力をサニタイズするべきではないと言っているのではありません。正当なユーザーの使いやすさとエクスペリエンスの点で常に役立つからです。
ユーザーをリダイレクトするアドレスがそのデータ属性を使用してサーバーで何かを行う場合は、必ずフロントエンドとバックエンドの両方でサニタイズしてください。それ以外の場合は、心配する必要はありません。最悪のシナリオは、悪意のあるユーザー (または知識のあるユーザー) が 404 ページに到達することです。
** 編集 **
この回答のコメントを読んだ後、更新された回答は次のとおりです。
危険は、その情報をどのように使用するかにあります。Google アナリティクス スクリプトの例を見てみましょう。
Google では、Google アナリティクス インターフェースを介して訪問者の行動や行動を追跡するのに役立つスクリプトを提供しています。
Google のスクリプトの値を変更すると、Google アナリティクスが機能しなくなり、アナリティクス スクリプトを介して Google をハッキングすることはできなくなります。
グーグルはこれをどのように達成していますか?彼らはすべてのセキュリティをバックエンドに置き、Web サイトでレンダリングされたり、データベースに保存されたり、何らかの方法でサーバーと対話したりする変更可能なユーザー入力をサニタイズします。
ケースに戻ります。
そのデータ属性を使用して document.write() をeval
実行する場合、データベース検索または機密操作 (データの削除、更新、取得) を実行する場合は、必ずそうします: サニタイズしてください。
どうやって消毒するの?それは特定の問題であり、おそらく新しい質問をする必要があります。