PHP を使用して酒類会社の年齢確認スプラッシュ ページを作成しましたが、世界中のさまざまな法定飲酒年齢を考慮していませんでした。入国した国の飲酒年齢をチェックする最も簡単な方法は何ですか?
また、ユーザーに国を入力させる代わりに、IP アドレスから取得する方法はありますか?
すべての顧客の正確な位置データを取得することは困難であり、コストがかかる可能性があります。GeoIP API は常に正しいとは限りません。多くの場合、無料または低コストの検索で、1 時間あたりの特定の数のクエリにレート制限されています。さらに、飲酒年齢に関する正確で維持可能なデータ セットが必要であり、さまざまな種類の飲料について飲酒年齢が異なる国や州を考慮する必要があります。また、アルコールを完全に禁止している国についても考慮する必要があります。
あなたはこれを過剰に設計していると思います。
年齢を尋ねる代わりに、現在の場所の最低飲酒年齢を超えていることを示すボックスをチェックするように依頼してみませんか?
例えば:
このボックスにチェックを入れることで、あなたは、あなたの国または州がアルコール飲料を購入して消費するために必要な最低年齢に達していることに同意したことになります.
または、より一般的には、アルコールの違法性をカバーする方法で:
このボックスにチェックを入れることで、あなたは現在居住している州または国でアルコールを購入する法的権利があることに同意したことになります。
GeoIP の使用を試すことができます。訪問者の場所を検出するために使用できる IP 範囲の非常に優れたリストも提供します。
おそらく、配列で国ごとに法定飲酒年齢を指定する必要があり、ユーザーに生年月日を尋ねます。彼が答えた後、配列 (常に国に対応する) を使用して値を確認し、彼の入場を許可するかどうかを決定します。
GeoIP 機能は存在しますが、無料バージョンは非常に不正確であり、有料サブスクリプションにもエラーがあることに注意してください。このサイトをチェックしてください: http://www.maxmind.com/en/geolocation_landing
国を解決したら、法定飲酒年齢を格納するには単純な DB テーブルで十分です。私はあなたがそれを過度に複雑にしていると思います - 年齢の質問は簡単にだまされます. 「あなたの国ではお酒を飲むことは許されていますか?」という質問に置き換えることもできますが、これはだまされやすく、同じ法的価値があります。