-1

我使用 PHP 为一家酒类公司创建了一个年龄验证启动页面,但没有考虑全球不同的合法饮酒年龄。让我的年龄门检查输入国家的饮酒年龄的最简单方法是什么?

此外,不是让用户输入他们的国家,有没有办法从 IP 地址中提取它?

4

3 回答 3

2

为所有客户获取准确的位置数据将具有挑战性,并且可能成本高昂。GeoIP API 并不总是正确的,而且在免费或低成本搜索中,您通常会被限制为每小时一定数量的查询。此外,您还需要准确且可维护的饮酒年龄数据集,并且需要考虑对不同类型饮料具有不同饮酒年龄的国家/州。您还需要考虑完全禁止饮酒的国家。

我会说你过度设计了这个。

与其询问年龄,不如让他们勾选一个框,说明他们已超过当前所在位置的最低饮酒年龄?

例如:

选中此框,即表示您同意您已达到您所在国家或州规定的购买和饮用酒精饮料的最低年龄。

或者更一般地说,以涵盖酒精非法性的方式:

选中此框,即表示您同意您在当前所在州或居住国家/地区拥有合法购买酒精饮料的权利。

于 2013-04-17T00:00:58.167 回答
0

存在 GeoIP 设施,但请记住,免费版本非常不准确,甚至付费订阅也有错误。检查这个网站: http: //www.maxmind.com/en/geolocation_landing

解析一个国家后,一个简单的 DB 表应该足以存储法定饮酒年龄。不过,我认为您将其复杂化了-年龄问题很容易被愚弄,所以为什么要尝试使其过于严格。不妨将其替换为“您是否允许在您的国家饮酒”问题,这同样容易被愚弄,并且具有相同的法律价值。

于 2013-04-17T00:02:02.377 回答
0

您可以尝试使用 GeoIP。它们甚至提供了一个非常好的 IP 范围列表,您可以使用这些列表来检测访问者的位置。

可能,您需要指定每个国家/地区的法定饮酒年龄,可能在数组上,然后您将询问用户他的出生日期。他回答后,你用数组检查值(总是对应国家),然后你或允许他进入与否。

于 2013-04-17T00:01:18.623 回答