首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP MYSQL -反多帐户

问PHP MYSQL -反多帐户
EN

Stack Overflow用户
提问于 2020-11-22 12:31:04
回答 1查看 73关注 0票数 1

我需要做一个反多帐户,我发现这个例子为mysql查询http://sqlfiddle.com/#!9/49bea0/1,这是一个很好的方法吗?

如果有其他简单的方法可以做,请让我知道这是非常重要的:

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-22 13:52:01

在我看来,你似乎想拒绝注册帐户的尝试,如果它们来自一个已经有帐户的IP地址。

这些评论提出了一个问题,即这是否一个好主意。事实并非如此。首先,用户很容易更改IP地址。另一方面,一些公司和大学有成千上万的用户共享一个公共网络IP地址(查阅NAT路由器了解更多信息)。即使是同一个家庭中的两个不同的家庭用户共享一个IP,所以我可以拥有一个帐户,而我的合作伙伴却不能。因此,允许每个IP地址只使用一个帐户是一种不必要的、不充分的安全措施。

但你不是这么问的。您询问了如何使用SQL进行操作。下面是如何实现的。

假设您有一个名为users的表和一个名为ip_address的列。

在该列上创建唯一索引。

代码语言:javascript
复制
CREATE UNIQUE INDEX no_dup_ip ON users (ip_address);

然后,当您尝试使用INSERT语句添加一个新用户-- users表中的新行--如果它具有与任何现有用户相同的IP地址,它就会失败。

您将得到MySQL错误1062,其文本错误消息如下所示。

错误代码: 1062。重复输入'192.0.2.210‘键'no_dup_ip’。

您可以使用PDO或mysqli错误报告函数检测此错误,并让您的php程序对您的潜在用户说些礼貌的话。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64954123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档