防止共享用户凭证


Prevent sharing of user credentials

每所学校都有一个用户名和密码,供该校所有学生使用。我提供给学校的服务不是免费的,当然我想把它卖给尽可能多的客户。问题是,任何学生都可以将自己学校的用户名和密码分享给其他人,这样一来,很多人会因为知道其中一个学校的用户名和密码而访问我的网站。所以,我的问题是:

如何允许仅从一个地区(地区)访问我的网站?假设我希望人们只从纽约市访问我的站点。我怎么才能做到呢?我正在考虑使用IP地址,但它们可靠吗?我还可以用什么来实现我的目标?我使用PHP与MYSQL数据库。

IP地址一般来说对于访问控制是不可靠的(许多不相关的用户,例如代理服务器后面的AOL用户,免费WiFi上的星巴克顾客)等可以共享一个IP地址,而单个用户可以在会话期间拥有多个IP地址(尝试用智能手机在路上行驶几英里)。

这种情况下, IP对于预期目的可能是可靠的。根据你所谈论的国家,我怀疑学校的IP地址将是相当静态的(注意……IP地址。它们很可能不止一个。

与其通过IP地址限制访问,我建议您记录用于访问站点的 IP地址。定期检查密码列表,如果发现明显的滥用情况,就为该学校重新设置密码。