我有一台服务器和许多客户端。身份验证必须在服务器上完成。当用户提交 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 怎么样?