Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP cookies和计时问题_Php_Cookies - Fatal编程技术网

PHP cookies和计时问题

PHP cookies和计时问题,php,cookies,Php,Cookies,昨晚我发布了一个问题,但不幸的是,对于我所处的情况,我还不够具体。我被分配了一个家庭作业,在作业中我们将为一个博客创建一个“评论”部分。但是,用户要留下评论,必须输入验证码。我们的任务是使用cookies跟踪登录尝试 我在最初的问题中未能正确解释的是: 我们必须用饼干。这是一个专门针对cookie实现的练习。这不是最佳做法,因为它很脆弱。我们的讲师已经解释了为什么我们不应该在“真实世界”的情况下这样做,但他希望我们理解并演示cookies的使用 昨晚我发布了一个问题,但不幸的是,对于我所处的情况

昨晚我发布了一个问题,但不幸的是,对于我所处的情况,我还不够具体。我被分配了一个家庭作业,在作业中我们将为一个博客创建一个“评论”部分。但是,用户要留下评论,必须输入验证码。我们的任务是使用cookies跟踪登录尝试

我在最初的问题中未能正确解释的是:

我们必须用饼干。这是一个专门针对cookie实现的练习。这不是最佳做法,因为它很脆弱。我们的讲师已经解释了为什么我们不应该在“真实世界”的情况下这样做,但他希望我们理解并演示cookies的使用

昨晚我发布了一个问题,但不幸的是,对于我所处的情况,我还不够具体。我被分配了一个家庭作业,在作业中我们将为一个博客创建一个“评论”部分。但是,用户要留下评论,必须输入验证码。我们的任务是使用cookies跟踪登录尝试

我在最初的问题中未能正确解释的是:

我们必须用饼干。这是一个专门针对cookie实现的练习。这不是最佳做法,因为它很脆弱。我们的讲师已经解释了为什么我们不应该在“真实世界”的情况下这样做,但他希望我们理解并演示cookies的使用

我们需要让用户有尽可能多的机会登录。然而,如果他们在30秒内尝试五次,他们将被锁定三分钟

大多数人都提到我应该使用session,这很有道理。但是,这是不允许的

在较高的级别上,您所需要做的就是存储时间戳,而不是“计数”。然后,在每个请求中,您可以扔掉超过30秒的时间戳,并计算剩余时间

我们需要让用户有尽可能多的机会登录。然而,如果他们在30秒内尝试五次,他们将被锁定三分钟

大多数人都提到我应该使用session,这很有道理。但是,这是不允许的。一位用户提到,我需要做的就是存储时间戳而不是“计数”,然后扔掉超过30秒的时间戳,然后计数其余的时间戳。这是有道理的,但如何切实做到这一点呢

这是一个家庭作业问题,我当然不希望看到代码。我只是想弄清楚整个“饼干事件”。我应该在数组中存储时间戳吗?如果是,你是如何做到的?如果时间超过30秒,如何将其从阵列中删除


我想我对饼干的理解有点欠缺。如有任何澄清,将不胜感激。我希望我的话简洁明了,没有浪费任何人宝贵的时间。谢谢。

我的建议是,如果您必须使用Cookie,您可以简单地将单个Cookie设置为过期时间为30秒的失败尝试标志,如果所有4个失败尝试标志都存在并且再次失败,设置另一个标志cookie,该标志cookie将在3分钟内过期,并且在设置该标志时不允许任何尝试。

对于新手的后续操作,非常抱歉。。。。。那么您是否每次都需要分配一个新的cookie?就像在setcookie(“firstcookie”)中一样,检查是否设置了,如果设置了,则检查setcookie(“secondcookie”)等,直到设置了四个?这可能是最简单的方法,以便每次尝试都有自己的超时。逻辑应该是这样的:如果没有设置完全锁定cookie,并且尝试失败,请检查请求中的标志1,如果没有设置,如果设置,请移动到标志2并重复检查/设置等等。我还没有足够的分数来投票,但是谢谢。完全有道理。我想我挂断了,因为我的教练说他只用了3块饼干。我从没想过这样。很好!