【问题标题】:autentication system in php using fsockopen curlphp 中使用 fsockopen curl 的身份验证系统
【发布时间】:2011-06-21 04:16:20
【问题描述】:

我有一台服务器和许多客户端。身份验证必须在服务器上完成。当用户提交 id 和密码时,它通过 post 方法发送,服务器对其进行身份验证并发送状态消息(有效/无效)。这样做不安全。不过,首先我应该使用一些令牌系统,比如 facebook 的做法。所以,为了帮助,我在这里发布了一些问题。如果我想遵循令牌系统,有人建议我使用 openId。我已经完成了,但它非常复杂。我不需要那么复杂。

然后我想到了 fsockopen。一旦提交表单,它就会进入客户端系统中的功能之一。从那个功能我发送和接收数据。

    $url = 'http://www.server.net/auth_system/test'.'/'.$email_id.'/'.$password.'/'.$site_id; 

     $fp = fsockopen($url_parsed['host'],"80",$err_num,$err_str,30); 
     fputs($fp, "POST $url_parsed[path] HTTP/1.1\r\n"); 
     fputs($fp, "Host: $url_parsed[host]\r\n"); 
     fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); 
     fputs($fp, "Content-length: ".strlen($post_string)."\r\n"); 
     fputs($fp, "Connection: close\r\n\r\n"); 
     fputs($fp, $post_string . "\r\n\r\n"); 

在服务器:

    $status =   Database...($email_id, $password, $site_id);            
                    echo "<br>split-delimiter".$email_id."split-delimiter<br>";
                    echo "split-delimiter".$status."split-delimiter";

** 请告诉我我在做什么是正确的吗?有更好的方法吗?使用 curl 怎么样?

【问题讨论】:

    标签: php authentication curl fsockopen


    【解决方案1】:

    最近我和我的好朋友有不同的看法。他也觉得openID比较复杂,喜欢自己做身份验证。

    复杂性

    但我对你(和他)的问题是:

    • 您觉得 OpenID 有什么复杂之处。我真的看不出来。当您使用友好的 OpenID 界面时,我认为它很容易/友好。看看stackoverflow的登录。您是否发现进行身份验证很复杂?我根本没有看到任何复杂性。

    为什么不应该进行身份验证

    为什么我认为你不应该进行身份验证:

    • storing your passwords safely is hard 老实说,我最近一直在研究这个问题,我认为密码学非常复杂(有些部分我无法完全理解)。 P.S:我认为您还应该阅读这篇非常有趣的文章,该文章解释了 Jeff Atwood(Stackoverflow 的作者)的 Lifehacker got hacked 如何。

    图书馆

    我最近更喜欢编写 node.js(JavaScript) 而不是 PHP,但我创建了一个小 library,它使用极其简单的 LightOpenID 库和 openid-selector 来使其友好。您只需克隆存储库即可开始使用。在我看来简直太简单了。我喜欢做更多的提交(我认为不会有更多的提交),以便使用 myopenid.com(就像 stackoverflow.com)轻松创建 OpenID 帐户。

    您可以在我的小型 PHP 虚拟主机提供商http://westerveld.name/php-openid/ 上查看一个工作示例(它只是一个简单的 git 克隆,它与 github 保持同步)。它看起来像下面的屏幕截图:

    P.S:我仍然认为,当我进行更多提交时,库将处于相当好的状态。在我看来已经很不错了。

    【讨论】:

    • 你误会了我提到使用openID的复杂性。使用 openID 很简单。但我的意思是。创建像openID这样的系统如何验证ID。它发回响应的安全性如何。
    • 但是在使用库(LightOpenID)时这些复杂性对你来说是隐藏的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    相关资源
    最近更新 更多