前提条件
- 会員登録などをさせられない
- HTML5なカジュアルゲームである
- サーバーのコストをとにかく下げたい
考え方
- 怪しいアクセスに対してスコアランキングへの参加を排除しつつアクセス者に対しては投稿の送信が成功したように見せかけて応答する
- 怪しいスコアののアクセスを排除しつつ自動管理のIPブラックリストにぶちこむ
- 怪しいユーザIDのアクセスを排除しつつ自動管理のIPブラックリストにぶちこむ
- 怪しいユーザエージェントのアクセスを排除しつつ自動管理のIPブラックリストにぶちこむ
- 怪しいアクセスパターンのアクセスを排除しつつ自動管理のIPブラックリストにぶちこむ
- ユーザIDを起動時にサーバーで生成するが同一IPからの大量生成ができないように制限をかける
怪しいIPとは?
- 一般的に不正と思われるProxy/VPN等からのアクセスをブロックする
- 自動管理のブラックリストで排除する
- 怪しいIPに対して◯時間など一時的なブロックをする
- 手動管理のブラックリストで排除する
- 目視で明らかな不正を発見したらIP単位でブロックする
不正なIPからのアクセスをブロックする
1. プライベートアドレスを弾く
2. データセンターのアドレスを弾く
https://github.com/X4BNet/lists_vpn/blob/main/output/datacenter/ipv4.txt
https://ipapi.is/hosting-providers-table.html
3. TORのアドレスを弾く
4. Pronyのアドレスを弾く
プロキシ IP アドレスを公開しているDBを利用する
https://github.com/firehol/blocklist-ipsets/master/firehol_anonymous.netset
5. VPNのアドレスを弾く
6. IP が不正行為を行ったかどうか