Web制作の記事一覧
PHPのPostの上限数
php.iniで設定する場合は
php_value max_input_vars 20000
.htaccessで設定する場合は
max_input_vars = 20000
※ ただし、.htaccessは設置したディレクトリの階層以下のみ反映
メルカリはどうやって複数アカウント利用を検知するのか
突然のメルカリからの利用停止通知
メルカリ利用者の人で、ある日突然複数アカウント利用による規約違反で利用停止の通知が来て途方に暮れている人が結構いるようです。複数アカウントで検索した結果 - メルカリボックス 疑問・質問みんなで解決!
メルカリ利用規約を読んでみると確かに複数アカウント利用の禁止が述べられています。
第4条 ユーザー登録及びアカウント情報の「2.複数登録の禁止」
ユーザーおよびユーザー登録をされようとする方(以下併せて「ユーザー等」といいます)は、
複数のユーザー登録を行うことができないものとします。
また、併せて第8条 禁止事項で参照されている禁止事項にも明記されています。
複数アカウント利用を禁止する理由としては
- 業者による転売行為の防止
- ロボットプログラムによるスクレイピング行為蔓延の防止
- さくら行為による特定アカウントの評価偽装の防止
何を持って複数アカウント利用が検知されるかの考察
しかし複数アカウントで利用停止を食らった人の中にも「端末を変えて利用」、「別なネットワーク環境から利用」にもかかわらず、
複数アカウントと認識されてしまったケースもあります。
メルカリでは一体どのようにして異なる環境からのアクセスを同一ユーザと判断しているのでしょうか?
Webページを利用者が閲覧する際にはHTTPプロトコルという通信規約が使われており、
この環境下でWebサーバ側では次のような限られた利用者の情報を取得することができます。
- IPアドレス/ドメイン
- OS/ブラウザ情報
- 画面サイズ
- 言語
- 通信ポート
- 参照元
1. IPアドレス/ドメイン
コンピュータのインターネット上の場所を特定するための住所または電話番号のようなものです。
例えば私の現在のIPアドレスとドメインは下記のとおりです。
IPアドレスとドメインは一対一で、IPアドレスが数字だけで人間に覚えづらいとして用意された変わりの識別子がドメインです。
IPアドレス:223.134.18.139
ドメイン:pdf86128b.tubecm00.ap.so-net.ne.jp
このIPアドレス/ドメインが分かると何処の国・都道府県・市区町村辺りまでだいたい特定できてしまいます。
一般的な家庭用のインターネット回線を利用しているとこのIPアドレスとドメインは変わりますが、一部のみであり、国・都道府県・市区町村を表す部分は変わらないことが多いです。
2. OS/ブラウザ
ユーザーエージェントといい、ブラウザがサーバに自分の利用環境を通知します。
例えば下記のようなものです。
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
この情報から、利用中のOSとバージョン、ブラウザの種類とバージョンが分かります。
ただし、偽装可能です。
3.画面サイズ
1920×1080(24bit) のように利用中の端末の画面のサイズと解像度を通知します。
4.言語
ja,en-US;q=0.9,en;q=0.8,id;q=0.7,zh-CN;q=0.6,zh;q=0.5,zh-TW;q=0.4
のように、ブラウザに設定されている言語とその優先順位を通知します。
5.通信ポート
52290のようにクライアント端末が利用している通信ポートを通知します。
※コンピュータ上の内線番号見たいなものと思ってください。
6.参照元
どのサイトからアクセスされたかを通知します。
おそらく1〜5の情報に「ページを移動する間隔」や「検索・よく見るページの傾向」などを加え、
異なるアカウント間の相関値を算出し、その値が一定値を超えた時点で同一アカウントと判断しているのではないかと推測できます。
どうすれば利用停止にならずに複数アカウントを利用できるか?
理屈はいいとして「どうやれば複数アカウントと検知されずに複数アカウントが利用できるの?」と思われるでしょう。
これはサービスの不正利用ではなく、あくまで技術上の好奇心からの推測ですが、
同一アカウントと判断しうる要因としてIPアドレス/ドメインの情報が大きいと思います。
同じ人が物理的に離れた場所で同時刻にアクセスできるのは不可能であると考えるのが妥当であるためです。
そうなるとこのIPアドレス/ドメインの壁をいかに乗り越えるかですが、離れた場所のネットワークを介してアクセスすれば可能です。
VPNなどの方法もありますが結構お金がかかります。
一番手っ取り早い方法はリモートデスクトップを使って遠隔地のPCにログインし、利用するという方法です。
「職場のPCでアカウントA、離れた場所にある自宅のPCでアカウントB」を同時に利用する形になります。
ただし、これで確実に同一アカウントのジャッジを回避できる保証はありません。
今後AIの進歩でおそらく利用者の行動パターンから同一アカウントと検知する仕組みが実現可能になるはずです。
あと、あまり過激なことをやるとユーザ登録の取り消しになるみたいなのでご注意ください。
著者プロフィール
代表取締役 小林 悟
高専の電気工学科に進むもマクスウェルの方程式に挫折。同時に複雑系のシミュレーションにハマりプログラマの道に進む。
大学院の情報工学課程修了後ソフトウェア会社勤務を経て一度は独立するが営業力の弱さを痛感し、戦略系コンサルティング会社に5年ほど努め、その後ビスポーク株式設立。
19歳からずっとプログラマ。