创建帐户然后验证(或先验证再创建帐户) - php

我在网上看到的大多数示例都是按以下顺序创建用户帐户的:用户来到站点,他们选择用户名和密码并输入电子邮件。要发送到此电子邮件的确认电子邮件,如果他们单击链接,该帐户将被“验证”。如果他们不验证,该帐户将在一段时间后被删除。

有人告诉我另一种方法:让用户首先验证电子邮件,然后单击电子邮件中的验证链接,他们可以开始创建用户名和密码。

是否有人认为第二种方式有任何问题,无论是出于安全考虑还是其他方面?这并不常见,我个人也找不到它的完全明显的问题,但是我只想在许多人确认他们也没有发现问题或漏洞的情况下使用它。

参考方案

我个人确实看到了可能给用户带来不便的问题:

当大多数人在网站上注册时,他们希望他们将不得不回答很多问题,花一些时间阅读FAQ和服务条款,然后花更多的时间来设置个人资料的一些初步方面。

传统流程允许用户选择执行该过程的时间。之后,用户仅会收到一个验证链接,该链接通常需要3秒钟才能使用,并且几乎可以在任何时间完成。

建议的流程迫使您网站的潜在用户花时间阅读文档,然后等他们收到消息后,再花一些时间(可能是几天后)来填写表格。我举一个例子,我会发现至少有点烦人-甚至不是完全令人沮丧的-尤其是如果邮件花了很多时间来做,就像它经常要做的那样。

我也不喜欢这种方案的内在含义:

传统流程:“哦,很好,您填写了我们的表格,请给我们一个地址,向您发送适当的验证”。这里的用户只是在等待完成本质上已经完成的交易。
邮件优先流程:“哦,是你。好吧,稍等片刻,如果需要的话,我们将向您发送邀请”。另一方面,在这里,用户会陷入潜意识不确定的困境,直到他们收到您的消息为止。

我相信第一种方法对用户更加开放和友好。这也是这些情况的当前标准流程,应该足以激励用户独立使用-除非没有其他方法,否则应避免强迫用户进入他们不习惯的流程。

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP:将字符串拆分为字母和数字部分的最佳方法 - php

我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…