質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

32683閲覧

Webアプリにおいて端末を個別で識別したい

hobby2018

総合スコア22

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

6クリップ

投稿2018/09/25 10:05

編集2018/09/25 10:51

1ユーザーにつき1アカウントの規約を設けたWebアプリを制作しています。
規約違反のユーザーを見つけ出すために、Javascriptで端末固有の情報を取得したいのですが何かよい取得対象または方法はありませんでしょうか?

追記
「端末固有の情報」は想定しているものは見つかっていないのでありません。調べた内容としてはフィンガープリントがありますがあまり固有情報にはならなそうに思えます。

追記
ブラウザから利用するWebアプリになります。スマホ利用が主体となるためiOSやAndroidで端末識別用のIDが取得したいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2018/09/25 10:16

どのような端末でどういうアプリを想定なさっておられるのでしょうか?
m.ts10806

2018/09/25 10:29

「端末固有の情報」は何を想定されていますか?おそらくですが、運営上は「1ユーザー1アカウント」とルールを設けていても穴を見つけて複数アカウントを作るユーザーはゼロではないはずです(teratailでも時々見ますね)そういった観点からも例えばIPやMACアドレスを取得したとして「このユーザー」と100%紐づけるのは難しいと思います。とはいえ、何かしら目途や基準は必要に思いますので、調べたことがあれば提示いただければと思います
hobby2018

2018/09/25 10:30

ブラウザから利用するWebアプリになります。スマホ利用が主体となるためiOSやAndroidで端末識別用のIDが取得したいです。
hobby2018

2018/09/25 10:39

mts10806さん、「端末固有の情報」は想定しているものは見つかっていないのでありません。調べた内容としてはフィンガープリントがありますがあまり固有情報にはならなそうに思えます。
m.ts10806

2018/09/25 10:41

質問は編集できるので適宜追記してください。こちらのコメント欄はデフォルト非表示なので補足情報などあっても目につきにくくなります
guest

回答2

0

端末の固有情報を取得する回答ではありません。

どのように判定を行うかによって精度が変わりますが、
1ユーザ1アカウントを100%判定するのはほぼほぼ無理かと思います。

質問文からは1端末1ユーザを前提とした文章に読み取れますが、
例えばデスクトップPCでは家族など複数のユーザが同じ端末を使うことがあります。
会社や学校で貸出のタブレット・スマホなどを使うこともありますよね。
そのため、同じ端末から複数ユーザが登録する可能性は普通にあるので
端末の固有情報を1ユーザと特定するのは厳しいと思われます。

また、逆に1人でPCとスマホ、あるいはタブレットなど複数端末を持っていた場合は
複数端末から1人のユーザが複数登録するとも考えられます。
そう考えると端末の固有情報のみを信じるのは厳しいどころか無理があります。
(もちろん端末の固有情報だけで判断するわけではないでしょうけども。)

以下にいくつか案を書きますが、いずれも100%判定はほぼ無理だと思って読んでください。

  • メールアドレスによる認証を行う

いまやメールアドレスなんぞいくらでも作れる時代なのでほぼほぼ無意味でしょう。
1アドレスしか持ってないという人だけ防げます。

  • 電話番号による認証

メールアドレスより精度は上がるかと思いますが、今やスマホ2台持ちとか
普通になっているのでこれもそこまで期待できるものではないかと思います。

  • 免許証など、顔写真付きの証明書を確認する

信頼性が重要なwebサービスでは結構取り入れてます。
ぐっと精度は上がりますが、画面の向こうの人が本当に本人のものかを
確実に判定する方法はないので100%ではないです。
また、それを登録しなきゃ使えないwebサービスはユーザ目線で気楽に使えないと思います。

  • 実店舗など、リアル店舗だけでアカウント登録するようなサービスにする

もちろん個人を証明できるものを持ってきてもらうのが必須ですが、
店員がちゃんと証明書の顔写真の判定もできますし、信頼感はあります。
ただ、店員が100%判定できるわけじゃないのでこれも確実じゃないです。
実際にアカウント登録した人が横流しする可能性もあります。
(ここまで来ると揚げ足取りな気がしてますがご容赦ください。)

完全に1ユーザ1アカウントを判定するのであれば上記以上にがっちりとした対策を練る必要があります。
しかし、それは果てして質問者様の作るwebサービスに合った方法でしょうか?

作成するアプリの目的や規模に応じてできる対策を考えるのが妥当かと思います。


ちなみに今現在結構なwebサービスで複数アカウント禁止のサービスがありますが、
(特に問題に答えるものだったり商品が出るものだったりするサイト)
わかりやすく規約違反である旨を載せることで防ぐことが多いように思います。

投稿2018/09/25 10:53

dice142

総合スコア5158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hobby2018

2018/09/26 03:21

回答ありがとうございます。 1ユーザ1アカウントを100%判定するのはほぼほぼ無理なのですね。 いくつかの技術を組み合わせて出来る限り2重登録防止を行いたいと思います。
guest

0

ベストアンサー

思いつく手法を調査しましたが、デバイスフィンガープリントを含め、全て下記のページで紹介されていました。
ネットで同一ユーザーを特定する方法まとめ

どの手法も誤爆を防ぐのは大変で、
ブラウザの移動やスマホ端末の正当な買い替えを考慮に入れるとID取得の敷居をあげるしか対策はないと言っても良いでしょう。

  • 銀行や金融系のように、アカウント発行に免許証のコピー等を必要とする
  • 金融系のようにこの端末は貴方のものとみなしますが良いですか機能を実装する
  • SMS認証(Googleなどはこれ)、携帯電話番号と紐づくため、山のようにアカウントを取得することが困難になる
  • 月額課金やデポジット等の仕組みで複数アカウントを取りづらい仕組みにする

投稿2018/09/25 10:49

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hobby2018

2018/09/26 02:49

回答ありがとうございます。 完全なものは不可能そうですので、 Cookie、デバイスフィンガープリント、詳細なアクセス情報の記録などを組み合わせて2重ID取得を極力防止することにしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問