首页 开发编程 正文

php 怎么登陆(php 登陆 该 如何 实现 ? - oschina - 中文 开源 技术 交流 社区)

我这里以用php抓取163相册的需要密码才能访问的目录为例。foreach($dataas$k=>}$fp=fsockopen($url['host'];fputs($fp;$line=fgets($fp;feof($fp)){$line=fgets($fp!}elseif($inheader){$results.=$line;...

php 登陆 该 如何 实现 ? oschina 中文 开源 技术 交流 社区

用php模拟登陆主要分为三部分

1. post数据。

2.根据返回的http头,从中截出cookie段。

3.伪造http头发送请求。 我这里以用php抓取163相册的需要密码才能访问的目录为例。 <?php function posttohost($url, $data) //post数据 { $url = parse_url($url); if (!$url) return "couldn't parse url"; if (!isset($url['port'])) { $url['port'] = ""; } if (!isset($url['query'])) { $url['query'] = ""; } $encoded = ""; foreach ($data as $k=>$v) { $encoded .= ($encoded ? "&" : ""); $encoded .= rawurlencode($k)."=".rawurlencode($v); } $fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80); if (!$fp) return "Failed to open socket to $url[host]"; fputs($fp, sprintf("POST %s%s%s HTTP/1.0\n", $url['path'], $url['query'] ? "?" : "", $url['query'])); fputs($fp, "Host: $url[host]\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\n"); fputs($fp, "Content-length: " . strlen($encoded) . "\n"); fputs($fp, "Connection: close\n\n"); fputs($fp, "$encoded\n"); $line = fgets($fp,1024); if (!eregi("^HTTP/1\.. 200", $line)) return; $results = ""; $inheader = 1; while(!feof($fp)) { $line = fgets($fp,1024); if ($inheader && ($line == "\n" || $line == "\r\n")) { $inheader = 0; } elseif ($inheader) { $results .= $line; } } fclose($fp); return $results; }

腾讯云服务器如何登录phpmyadmin求解,就是无法登录?

你的phpmyadmin所在服务器的mysql没启动或者不允许连接。

需要看对应机器的mysql服务是不是起来了

php利用session如何实现单ip登陆限制?

我们知道,Session和Cookie配合起来使用可用来实现会话跟踪与控制。在一些场景下可能需要做单IP限制登录,很多开发者可能就会想到用Session会话来实现,但是不能单独靠Session来实现单IP限制登录。

第一步:单IP登录限制需要基于会话控制

这个很好理解,既然有登录,那就离不开会话控制技术(Cookie+Session),当用户成功登录后,我们需要获取到用户的IP,同时标记会话状态,这样此用户后续的请求都会归属于此会话中。

第二步:用户登录后要将用户IP存储起来

基于第一步,当用户登录成功后,就需要获取用户的真实IP,然后存储起来。常见的存储方式有:缓存文件、数据库、文件。考虑到性能,我们建议可以将用户的真实IP存储到Redis这类NoSQL中。

具体思路是:用户登录成功后 =》获取用户真实IP =》从数据库中找到当前登录用户的唯一ID值 =》将用户唯一UID做为Redis的Key存储,其Value则为此用户的IP。

第三步:每次登录与登出都要更新对应的Redis Key对应的值

上面2步做好后,然后需要对登录与登出逻辑做处理了,具体规则如下:

1、每次登录成功后

每次登录操作时,验证用户名及密码正确后需要查看此用户的UID对应的Redis Value值(如果Cookie+Session状态都存在也需要判断Redis中是否有值),如果Redis中有值,则代表此用户之前登录过,再进一步判断用户当前的IP是否和上次登录的IP一致,如果不一致则代表用户在多处登录了,再根据业务做进一步处理。

2、登出操作

当用户登出时,同样需要对Redis中的记录做同步删除操作。

我的php代码中登陆界面加一个验证码,如何实现?

php登陆页面+验证码的实现,参考如下: 1、首先新建一个php站点; 3、新建login.php文件; 用户名文本框昵称为name; 密码文本框为psw; 验证码为yzm; 表单的提交方式为post,提交到check.php。

php开发网站,怎样判断用户是否登录?

简单啊。

1、用户登录后,登录时间计入数据库;

2、每次页面访问都需要账号(用户名或session号)传递

2a)若访问时间在许可时间内,则更新数据表时间;

2b)若超时或未找到等,均为非正常登陆情况

3、根据结果返回各种提示,正常则显示页面信息,错误给出错误信息

我都是原生的写法,没用框架。很简单,因为我写的时候还没框架,而现在这些都已经变成了是我自己的框架了。

本文转载自互联网,如有侵权,联系删除