很多站长朋友们都不太清楚破解php登录才能查看,今天小编就来给大家整理破解php登录才能查看,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP如何获取需要登陆后才能看到的网页HTML代码 2、 Php网站需要授权才能使用后台的全部功能,这个该如何破解啊? 3、 PHP如何实现非要登陆才可以打开,不登陆直接打开不行!我用SEESION怎么办不到,该怎么写啊! 4、 php只有登录了才能访问到其他页面 5、 PHP加入登陆后才能打开浏览的入口 PHP如何获取需要登陆后才能看到的网页HTML代码实际上是个模拟登陆的问题,需要写个登陆模块,解决两个问题:
1,请求登陆并刷新的函数部分:
<?php
/*****************函数部分**************************/
/*获取指定网页的内容
$url为网页地址
*/
function getcontent($url){
if($open=file($url)){
$count=count($open);
for($i=0;$i<$count;$i++)
{
$theget.=$open[$i];
}
}else{
die('请求过多,超时,请刷新');
}
return $theget;
}
?>
2,偷取程序部分,也分两部分,
1),PHP与XML不同之处是需要特殊的调用才能支持COOKIE.或者记录SessionID(后面有说明程序)
php代码如下
<?PHP
//登陆并保存COOKIE
$f = fsockopen("",80);
$cmd = <<<EOT
GET /test/login.php?name=testpassword=test HTTP/1.0
EOT;
fputs($f,$cmd);
$result = '';
$cookie = '';
$location = '';
while($line = fgets($f))
{
$result .= $line;
//取得location跟setCookie头HTTP头信息
$tmp = explode(":",$line);
if($tmp[0]=="Set-Cookie")
$cookie .= $tmp[1];
if($tmp[0]=="Location")
$location = $tmp[1];
}
fclose($f);
2),获取页面
//下面访问你要访问的页面(这部分也可以参考下面的核心例程)
$f = fsockopen("",80);l
//下面的cookie就是发送前页保存下的的cookie
$cmd = <<<EOT
GET /test/test.php HTTP/1.0
cookie:$cookie
EOT;
fputs($f,$cmd);
while($line = fgets($f))
{
echo $line;
}
fclose($f);
?>
核心例程就是fsockopen();
不妨再给段代码你瞧瞧:
--------------------------------------------------------------------------------
function posttohost($url, $data)
{
$url = parse_url($url);
if (!$url) return "couldn't parse url";
if (!isset($url['port'])) { $url['port'] = ""; }
if (!isset($url['query'])) { $url['query'] = ""; }
$encoded = "";
while (list($k,$v) = each($data))
{
$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", $url['path'], $url['query'] ? "?" : "", $url['query']));
fputs($fp, "Host: $url[host]");
fputs($fp, "Content-type: application/x-www-form-urlencoded");
fputs($fp, "Content-length: " . strlen($encoded) . "");
fputs($fp, "Connection: close");
fputs($fp, "$encoded");
$line = fgets($fp,1024);
if (!eregi("^HTTP/1\\.. 200", $line)) return $line ;
$results = ""; $inheader = 1;
while(!feof($fp))
{
$line = fgets($fp,1024);
if ($inheader ($line == "" || $line == "\r")) {
$inheader = 0;
}
elseif (!$inheader) {
$results .= $line;
}
}
fclose($fp);
return $results;
}
$data=array();
$data["msg"]="HELLO THIS IS TEST MSG";
$data["Type"]="TEXT";
echo posttohost("", $data);
应该说明白了吧?
另外登陆部分还有一种简单方法是把SessionID保存下来
源代码:
<?php
/*
* 得到网页内容
* 参数:$host [in] string
* 主机名称(例如: )
* 参数:$method [in] string
* 提交方法:POST, GET, HEAD ... 并加上相应的参数( 具体语法参见 RFC1945,RFC2068 )
* 参数:$str [in] string
* 提交的内容
* 参数:$sessid [in] string
* PHP的SESSIONID
*
* @返回 网页内容 string
*/
function GetWebContent($host, $method, $str, $sessid = '')
{
$ip = gethostbyname($host);
$fp = fsockopen($ip, 80);
if (!$fp) return;
fputs($fp, "$method\r\n");
fputs($fp, "Host: $host\r\n");
if (!empty($sessid))
{
fputs($fp, "Cookie: PHPSESSID=$sessid; path=/;\r\n");
}
if ( substr(trim($method),0, 4) == "POST")
{
fputs($fp, "Content-Length: ". strlen($str) . "\r\n"); // 别忘了指定长度
}
fputs($fp, "Content-Type: application/x-www-form-urlencoded\r\n\r\n");
if ( substr(trim($method),0, 4) == "POST")
{
fputs($fp, $str."\r\n");
}
while(!feof($fp))
{
$response .= fgets($fp, 1024);
}
$hlen = strpos($response,"\r\n\r\n"); // LINUX下是 "\n\n"
$header = substr($response, 0, $hlen);
$entity = substr($response, $hlen + 4);
if ( preg_match('/PHPSESSID=([0-9a-z]+);/i', $header, $matches))
{
$a['sessid'] = $matches[1];
}
if ( preg_match('/Location: ([0-9a-z\_\?\=\\#\.]+)/i', $header, $matches))
{
$a['location'] = $matches[1];
}
$a['content'] = $entity;
fclose($fp);
return $a;
}
/* 构造用户名,密码字符串 */
$str = ("username=testpassword=test");
$response = GetWebContent("localhost","POST /login.php HTTP/1.0", $str);
echo $response['location'].$response['content']."<br>";
echo $response['sessid']."<br>";
if ( preg_match('/error\.php/i',$response['location']))
{
echo "登陆失败<br>";
} else {
echo "登陆成功<br>";
// 不可以访问user.php,因为不带sessid参数
$response = GetWebContent("localhost","GET /user.php HTTP/1.0", '', '');
echo $response['location']."<br>"; // 结果:error.php?errcode=2
// 可以访问user.php
$response = GetWebContent("localhost","GET /user.php HTTP/1.0", '', $response['sessid']);
echo $response['location']."<br>"; // 结果:user.php
}
?>
Php网站需要授权才能使用后台的全部功能,这个该如何破解啊?install.lock文件表示网站已安装(数据完成初始化),没有这个文件打开网站可能会跳转到安装界面。
如果你有源码的话,完全可以通过修改密码跳过授权进去后台。但这要看源码复杂程度。另外如果后台功能有授权用户权限问题,那修改就更麻烦了。
如果你掌握了数据库,不如直接在数据库里增加个用户数据,账号密码和用户权限随便填,难点在于找到密码加密的方法。
PHP如何实现非要登陆才可以打开,不登陆直接打开不行!我用SEESION怎么办不到,该怎么写啊!在php页面的最上面部分,写上判断语句,判断session中是否有对应的用户信息就可以了呀。
流程是
1、登录程序判断登录的信息是否正确,正确的话,将一些必要的用户信息写入session中,比如$_SESSION['username']='admin',$_SESSION['userid']='1';
2、判断是否登录,从session中读取$_SESSION['username'],$_SESSION['userid'],看值是否存在(这个是最简单的判断),如果存在,就说明登录成功。
php只有登录了才能访问到其他页面session_start();
if(isset($_SESSION['isLogin'])){
header("Location: ");//下页
exit;
}else{
header("Location: ");//登陆页
exit;
}
登陆成功的时候设置 $_SESSION['isLogin']的值 随便给
上面代码是判断是否登陆的
PHP加入登陆后才能打开浏览的入口在你不想让别人直接进入的网页开头加一段代码:
session_start(); //打开SESSION。
/*
* 定点提示跳转
*/
function jian($ce,$dizhi) {
echo ("<script type='text/javascript'> alert('{$ce}');location=('{$dizhi}');</script>");
exit;
} //第一个参数是提示信息,第二个参数是跳转地址
if ($_SESSION["name"] == "") {
jian('对不起,你没有登陆,无权访问!','login.php');
}
然后在你登陆处理页面(就是登陆后验证用户的页面),登陆成功后,跳转页面前加一句:$_SESSION["name"] = $name;
关于破解php登录才能查看的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于破解php登录才能查看 破解php登录才能查看吗的详细内容...