Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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 二因素认证的替代方法_Php_Objective C_Security - Fatal编程技术网

Php 二因素认证的替代方法

Php 二因素认证的替代方法,php,objective-c,security,Php,Objective C,Security,场景:我想创建一个应用程序,用户在其中注册帐户,服务器向他们发送一个一次性pin,以通过短信验证他们的联系方式。用户输入收到的代码以验证其详细信息 然而,发送一条短信要花钱,但接收一条短信是免费的,我的短信网关让我可以阅读收到的短信 因此,我可以在我的应用程序中创建一个屏幕,让用户向我的网关发送一条短信,其中包含网关号码和预先填充的消息(例如,“嗨,请使用代码34GKT551T激活我的帐户”)。用户只需按send 我的网关没有让用户输入他们收到的代码并在服务器上验证代码,而是接收用户发送的代码并

场景:我想创建一个应用程序,用户在其中注册帐户,服务器向他们发送一个一次性pin,以通过短信验证他们的联系方式。用户输入收到的代码以验证其详细信息

然而,发送一条短信要花钱,但接收一条短信是免费的,我的短信网关让我可以阅读收到的短信

因此,我可以在我的应用程序中创建一个屏幕,让用户向我的网关发送一条短信,其中包含网关号码和预先填充的消息(例如,“嗨,请使用代码34GKT551T激活我的帐户”)。用户只需按send

我的网关没有让用户输入他们收到的代码并在服务器上验证代码,而是接收用户发送的代码并将消息发送到我的服务器,然后服务器验证代码,从而验证用户的电话号码是他们在注册时输入的号码

问:这种方法有什么根本性的错误吗

这样做的利弊是什么?是的,我知道短信是可以伪造的,但这比伪造一封也可以使用的电子邮件要难。我不认为这是一个适当的2因素认证的替代品,但这种方法值得做一个低成本的替代方案,不需要用户做任何其他特殊的。
另外,这是我关于堆栈溢出的第一个问题,所以要小心。

不,这是不安全的,因为短信的发送者很容易被伪造

还有一些服务


它所能提供的只是一个非常薄的安全层,以防那些拥有用户密码但不知道上述信息或受害者手机号码的人。受害者的电话号码可以通过社会工程等其他手段获得。如果有专门用于2FA的独立手机,它可能会工作,但是为什么不使用免费的Google Authenticator API(Google Authenticator应用可用于iOS和Android)?

干杯,我感谢您的见解!