我有一个用PHP Codeigniter框架构建的网站。它有一个用户管理系统。一般来说,它所做的是,当用户注册时,它会将他的信息添加到数据库中,并发送一封构象电子邮件(就像其他系统一样)。
但现在,一些垃圾邮件发送者正在创建大量的账户。不过他们不会核实这封邮件。只需向数据库添加更多记录即可。然而,我的数据库正为此变得越来越重。我怎么才能阻止这一切?
在用户确认电子邮件后,是否有任何工作流程可供我添加?
提前谢谢。
发布于 2018-02-16 08:28:45
无法在成功确认邮件后插入用户,您可以按照一些步骤限制用户。
发布于 2018-02-16 08:20:46
有许多解决方案,但没有一个是完美的或100%有效的:/
发布于 2018-02-16 08:29:04
PDO准备的语句验证功能
$result = Database::getInstance()->query("SELECT * FROM user ORDER BY id DESC WHERE 1");这将获得最后一个数据库条目,现在您应该读出验证状态并删除未验证的用户或添加已验证的用户。
在数据库类中,应该有一个函数来构建sql查询,并使用要注入的值构建一个数组
public function query($query, array $parameters = array())
{
$statement = $this->connection->prepare($query);
foreach($parameters as $key => $value)
{
$statement->bindValue(':'.$key, $value);
}
$statement->execute();
return $statement->fetchAll(PDO::FETCH_ASSOC);
}https://stackoverflow.com/questions/48822494
复制相似问题