PHP加入登陆后才能打开浏览的入口
发布网友
发布时间:2022-06-19 20:33
我来回答
共5个回答
热心网友
时间:2024-10-27 21:26
在你不想让别人直接进入的网页开头加一段代码:
session_start(); //打开SESSION。
/*
* 定点提示跳转
*/
function jian($ce,$di) {
echo ("<script type='text/javascript'> alert('{$ce}');location=('{$di}');</script>");
exit;
} //第一个参数是提示信息,第二个参数是跳转地址
if ($_SESSION["name"] == "") {
jian('对不起,你没有登陆,无权访问!','login.php');
}
然后在你登陆处理页面(就是登陆后验证用户的页面),登陆成功后,跳转页面前加一句:$_SESSION["name"] = $name;
热心网友
时间:2024-10-27 21:26
首先你身为管理员应该有一个自己的账号和密码,那么这个账号和密码即使你登陆网站的口令,也是你登陆这个有隐私页面的口令,我们先假设一个账号和密码,假如你的账号是:abc,密码是555555;那么在你的有隐私的页面里加上这样的门代码:
<?php
//如果有$_POST['myname']和$_POST['mypwd']提交过来,则进行赋值,否则跳过。
if(@$_POST['myname']!=''&&@$_POST['mypwd']!=''){
$_SESSION['username']=$_POST['myname'];
$_SESSION['userpwd']=$_POST['mypwd'];
}
if(@$_SESSION['username']!='abc'||@$_SESSION['userpwd']!='555555'){
//如果密码或者用户名不正确,则跳转到登陆这个页面的网页
echo '<script language="javascript">window.location.href="xxx.html(此处是一个专门用来对这个页面登陆的页面,但是这个方法不好,好的方法和理由下面给你解释)"; </script>';
}
?>
要跟你说的一点就是你说的用cookie的方法是不可取的,因为cookie保存在本地,很容易被攻击被窃取,而且你用session保存你的账号和密码,这个账号密码是这个页面的唯一口令,你浏览了别的页面,session依然保存着,所以你回来这个页面的时候,会直接对session进行判断,所以不需要再次登陆,而只有你的用户名和密码不正确的时候才会跳转到提交用户名密码的页面。
此处解释上面括号里的:你登陆后,你的账号和密码也是这个页面唯一同行口令,所以只要你登陆了,你便可以直接进入这个页面了,而页面中的PHP代码会对所浏览这个页面的每个用户进行账号和密码判断,如果不是你来了,直接跳转,这里建议跳转到网站首页或者登陆页面!
热心网友
时间:2024-10-27 21:27
//两种方法,一个是修改php.ini设置session相关的COOKIE的时间,它的默认设置是关闭浏览器就消失。设置一天后失效,然后把对应的SESSION存到数据库,这样可以避免把帐号密码存到客户端。
//第二中,直接把帐号和密码放到COOKIE中发到客户端。不安全。
<?php
session_start();
if($_COOKIE['user']&&$_COOKIE['pass']){
$user=$_COOKIE['user'];
$pass=$_COOKIE['pass'];
if(!check($user,$pass)){
header(Location:url);
}
$_SESSION['login']=TRUE;
}else{
$user=$_POST['user'];
$pass=$_POST['pass'];
if(!check($user,$pass)){
header(Location:url);
}
setcookie('user',$user,time()+28800);
setcookie('pass',$pass,time()+28800);
$_SESSION['login']=TRUE;
}
//从数据库读取和帐号相匹配的密码
function check($user,$pass){
$sql='select * from user where user.pass='.$pass.' and user='.$user;
$result=mysql_query($sql);
$res=mysql_row_nums($result);
if($res>0){
return true;
}else{
return false;
}
}
//如果返回的列大于0就登录成功,否则返回
//存入在SESSION里面,登录一次就可以在整个管理后台行走,不用重登录。
热心网友
时间:2024-10-27 21:27
密码要保存到数据库中,用密文保存,这就需要一个用户表,表中有登录名和密码,再加一个sessionid就可以解决刷新问题,登录的时候先判断sessionid,是否需要重登录,然后将输入的密码明文加密与数据库中的对比是否一致就可以了!
热心网友
时间:2024-10-27 21:28
PHP是一个基于服务端来创建动态网站的脚本语言,全称Personal Home Page,您可以用PHP和HTML生成网站主页。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,这类似于ASP和CoildFusion,然而PHP和他们不同之处在于PHP开放源码和跨越平台,PHP可以运行在WINDOWS NT和多种版本的UNIX上。它不需要任何预先处理而快速反馈结果,它也不需要mod_perl的调整来使您的服务器的内存映象减小。PHP消耗的资源较少,当PHP作为Apache Web服务器一部分时,运行代码不需要调用外部二进制程序,服务器不需要承担任何额外的负担。 除了能够操作您的页面外,PHP还能发送HIIP的标题。您可以设置cookie,管理数字签名和重定向用户,而且它提供了极好的连通性到其它数据库(还有ODBC),集成各种外部库来做用PDF文档解析XML的任何事情。 有了PHP就无需特殊的开发环境和IDE,您可以以<?php 作为程序块的开始,可以以 ?>作为PHP代码块的结束,当然您也可以用带有的标记甚至用的ASP的格式来配置PHP,PHP会在那些标志间处理所有的事情。 PHP的编程语言类似与C和Perl。在使用它们之前您没必要声明任何变量,而且建立数组和Hash是很简单的事情。PHP还有一些面向对象的特征,可以为组织和打包您的代码提供很好的帮助。 虽然PHP在Apache里能快速运行,但是在PHP网站里有一些用来对Microsoft IIS 和Netscape Enterprise Server无缝结合的指令集。如果您还没有copy PHP的话,您可以在 [url]www.php.com 下载,您也可以使用操作手册,它里边包括了所有的关于PHP的功能和特性的说明。