HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML isTrustedイベントプロパティとは?使い方とサンプルコードを解説


HTMLのisTrustedイベントプロパティは、発生したイベントが「信頼された(trusted)」ものかどうかを示す真偽値(Boolean)を返します。つまり、そのイベントがユーザーによる本物の操作から生まれたものか、それともスクリプトによって生成されたものかを判別できます。

ポイント: イベントがJavaScriptなどのスクリプトから呼び出された場合は isTrustedfalse を返し、ユーザーのクリックや入力といった実際の操作によって発生した場合は true を返します。

この性質を利用すると、ボットやスクリプトによる不正な自動クリックを検知し、ログイン処理などを保護することが可能です。以下に、isTrustedイベントプロパティの具体的な使用例を紹介します。

サンプルコード

<!DOCTYPE html>
<html>
<head>
<title>HTML isTrusted</title>
<style>
   form {
      width:70%;
      margin: 0 auto;
      text-align: center;
  }
   * {
      padding: 2px;
      margin:5px;
   }
   input[type="button"] {
      border-radius: 10px;
   }
</style>
</head>
<body>
<form>
<fieldset>
<legend>HTML-isTrusted-attribute</legend>
<input type="email" id="emailSelect" placeholder="eg: xyz@abc.com">
<input type="password" id="passWordSelect">
<input id="loginbtn" type="button" value="Login" onclick="login(event)">
<div id="divDisplay">Attempt to login will take place in 2 seconds</div>
</fieldset>
</form>
<script>
   var emailSelect = document.getElementById("emailSelect");
   var passWordSelect = document.getElementById("passWordSelect");
   var loginbtn = document.getElementById("loginbtn");
   var divDisplay = document.getElementById("divDisplay");
   setTimeout(function() {
      emailSelect.value="paulaStanford@MNC.com";
      passWordSelect.value="hellopaula";
      loginbtn.click();
   }, 2000);
   function login(event) {
      if(event.isTrusted)
         divDisplay.textContent = 'Welcome '+emailSelect.value.split("@")[0];
      else
         divDisplay.textContent = 'Unauthorized attempt to login from a script';
   }
</script>
</body>
</html>

このサンプルでは、ページ読み込みから2秒後にスクリプトが自動的にメールアドレスとパスワードを入力し、「Login」ボタンのクリックをシミュレートします。login()関数内では event.isTrusted の値を判定し、trueならウェルカムメッセージを、falseならスクリプトによる不正なログイン試行として警告メッセージを表示します。

実行結果

上記のコードを実行すると、次のような画面が表示されます。

1) 何も操作していない初期状態の場合 −

HTML isTrustedイベントプロパティとは?使い方とサンプルコードを解説

2) スクリプトによって「Login」ボタンが自動的にクリックされた場合 −

HTML isTrustedイベントプロパティとは?使い方とサンプルコードを解説

3) ユーザー自身が「Login」ボタンをクリックした場合 −

HTML isTrustedイベントプロパティとは?使い方とサンプルコードを解説

isTrustedプロパティの主な活用シーン

isTrustedプロパティは、次のような場面で特に役立ちます。

  • 不正な自動操作の防止: マクロやボットによるスクリプト経由のクリックを検出し、重要な処理(ログイン・決済など)をブロックできます。
  • セキュリティ強化: 悪意あるスクリプトが合成イベント(synthetic event)を使ってUIを不正に操作することを防ぎます。
  • デバッグとテスト: 開発時に、イベントが実際のユーザー操作由来かどうかを確認するのに便利です。

なお、isTrustedは読み取り専用プロパティのため、コード側で値を書き換えることはできません。これにより、信頼性の高いイベント判定が保証されています。

  1. HTML DOM TouchEventのtouchesプロパティとは?使い方とサンプルコードを解説

    TouchEvent touchesプロパティとはHTML DOMのTouchEventにおけるtouchesプロパティは、タッチ面(タッチスクリーンなど)上で発生したすべての接触ポイント(コンタクトポイント)のリストに対応するTouchListオブジェクトを返します。注意:指定されたノード、またはその子ノード上でタッチが発生した場合、その後に続くタッチ操作は、同じノード上で発生していなくてもカウント対象になります。構文TouchListオブジェクトを取得するための構文は以下の通りです。event.touches補足:本記事のタッチイベントのサンプルコードは、モバイル端末やタッチ操作対応デバイ

  2. HTML DOM Event typeプロパティとは?イベントの種類を取得する方法を実例付きで解説

    HTML DOM Event typeプロパティとはHTML DOMのEvent typeプロパティは、発生したイベントの種類に対応する文字列を返すプロパティです。「click」「keypress」「load」「touchend」など、さまざまなイベントタイプを取得できます。構文イベントの種類を文字列として取得するには、以下のように記述します。event.typeそれでは、Event typeプロパティの具体的な使用例を見ていきましょう。使用例以下のサンプルでは、赤い円形の要素に対して「クリック」または「タッチ」が行われた際に、event.typeでイベントの種類を判定しています。イベントの種