TagForm TagForm

Features

TagFormでできること

NFCタグ・セッション管理・UUIDトークンを組み合わせた3層の防衛ラインにより、 技術的に不正な出席登録を遮断します。

防げる不正の種類

従来の出席管理が抱える3つの課題を、TagFormは技術的に解決します

01

URLの外部流出

課題

フォームのURLをSNSやLINEで共有され、教室外の人間が提出する。

TagFormの解決策

URLに加えてセッションID・UUIDの3点照合。NFCタグをタップした端末以外ではURLが無効になります。

02

代返(なりすまし提出)

課題

友人の分の出席情報を出すために何度もNFCタグを読み込んで代わりに提出する。

TagFormの解決策

同一のタグIDで同一のフォームIDの提出は1回しか受け付けません。また、セッションやUUIDの情報も合わせるので、複数タグを読み込んだとしても同一端末からは1回しか提出できません。

03

時間外・場所外の提出

課題

授業時間外や別の教室から出席を登録する

TagFormの解決策

受付時間帯の設定や、トークン及びセッションの有効期限切れにより、都度NFCタグを読み込まないとフォームが開けない設定になっています。

Demo

実際の挙動

不正を試みると何が起きるか。実際の画面でブロックされる瞬間をご覧ください。

URLの外部流出の挙動
不正01

URLの外部流出

フォームURLを第三者に共有されても、セッションIDとUUIDが一致しない端末からのアクセスはブロックされます。

代返(なりすまし提出)の挙動
不正02

代返(なりすまし提出)

同一NFCタグを複数回タップしても、トークンの使用回数制限(最大2回)により2回目以降の提出はブロックされます。

複数タグの不正読み取りの挙動
不正03

複数タグの不正読み取り

複数のNFCタグを連続して読み取っても、トークンはタグごとに独立して管理されるため多重提出は成立しません。

 上記はすべて実際のTagForm上での動作です

技術的な仕組み

NFCタップから提出完了まで、すべてのステップで検証が走ります

NFCタップ → トークン発行

ランダムトークン・UUID・セッションIDを生成し NFCタグのタグIDも紐づけて保存

フォームID入力画面へリダイレクト

トークン・セッションID・UUID・タグIDの4点照合。すべてが一致する場合のみ画面を表示

9桁フォームIDの入力と検証

教員が学生に口頭で伝えるフォームIDを入力。即時検証しフォーム名を表示

フォーム表示

トークン有効回数を1減らす(2→1)。再度の4点照合を実施

フォーム送信

トークン有効回数を0にリセット。フォーム回答を保存。以降そのトークンは使用不可

4点照合の仕組み

TagFormはURLに含まれるトークン値だけでなく、セッションIDUUIDタグIDの4つを同時に照合します。 URLが流出しても、セッションとUUID、タグIDが一致しない限りフォームにアクセスできません。

AttendanceToken::where('token', $token)
    ->where('session_id', $request->session()->getId())
    ->where('uuid', $request->session()->get('uuid'))
    ->where('tag_id', $request->input('tag_id'))
    ->where('expires_at', '>', Carbon::now())

その他の機能

カスタム設問

短文・長文・ラジオボタン・チェックボックスの4種類の設問をドラッグ&ドロップで自由に作成できます。

受付時間の自動管理

授業開始・終了時刻を設定しておけば、時間帯外の提出を自動で拒否します。

座席・教室の自動記録

NFCタグのroom_id・seat_idが回答と一緒に保存され、どの席からの提出かが一目でわかります。

リアルタイム通知

Pusherを利用したリアルタイム通知で、学生の提出状況を即座に把握できます。

講義との紐付け

「月曜2限」などの講義単位でフォームを管理。科目ごとに出席データを整理できます。

ワンクリック受付切替

授業前後にワンクリックで受付中/受付不可を切り替え。学生への開放・締め切りが簡単です。

研究・論文資料

TagFormの設計思想・有効性に関する研究資料

📄

論文・研究資料(準備中)

TagFormの不正防止効果の有効性に関する研究論文および技術資料を掲載予定です。
準備が整い次第、こちらでPDFをご覧いただけます。

近日公開予定

まずはフォーム作成から

NFCタグ導入済み施設の方は

新規アカウント登録