我想知道用户是否有可能销毁他们的会话变量.
例如,如果他们清除他们的cookie会破坏他们的会话变量?我想建立一个系统来记录一个人完成的失败尝试次数,并且要创建一个会话变量而不是将数据插入到sql数据库中.任何有关最有效方式的建议都会很棒!
解决方法:
不,会话存储在tmp文件夹中的服务器上.所有用户都拥有会话ID(通常存储在cookie中).
因此,即使用户清除其cookie,会话也将在服务器上保持活动状态,直到PHP垃圾收集生效.
但是,如果用户确实删除了会话ID,则服务器会生成一个新会话ID.无法限制网站访问者可以进行的登录尝试次数,但您可以对数据库中的用户帐户可以尝试登录的次数添加限制.
您可以这样做,但更改数据库中的users表.添加time_locked_out字段,并将其设置为默认值null,以及login_attempts字段,默认值为0.
如果尝试登录帐户的次数超过3次,请将time_locked_out字段设置为当前时间,并且不要让它再次尝试登录,直到该时间后30分钟(或其他).