导航:首页 > 编程语言 > phpsession监听

phpsession监听

发布时间:2022-09-04 02:29:25

php中使用session防止用户非法登录后台的方法

本文实例讲述了php中使用session防止用户非法登录后台的方法。分享给大家供大家参考。具体如下:
一般来说,我们登录网站后台时,服务器会把登录信息保存到session文件里,并通过读取session文件来判断是否可以进行后台操作。
以下面为例,假如admin.php是我们的后台操作页面,如果没有启用
session,那么,即便是没有登录,用户照样能访问到该页面,这时候,就需要用到
session
来防止用户非法登录到这个页面了。下面是三个文件的代码
登录页面:login.php
复制代码
代码如下:<h2>用户登录页面</h2>
<form
action="loginProcess.php"
method="post">
用户名:<input
type="text"
name="username"><br
/>
密 码:<input
type="password"
name="pwd"><br
/>
<input
type="submit"
name="sub"
value="登录后台">
</form>
<?php
if(!empty($_GET['errno'])){
if($_GET['errno']==1){

echo
"用户名或密码错误";
}else
if($_GET['errno']==2){

echo
"请输入用户名密码";
}else
if($_GET['errno']==3){

echo
"非法访问,请输入用户名和密码";
}
}
?>
登录信息处理页面:loginProcess.php
复制代码
代码如下:<?php
//这里主要讲session,关于登录信息验证,就不涉及到数据库了
//接收登录信息,保存session
if(!empty($_POST['sub'])){
if($_POST['username']=="admin"
&&
$_POST['pwd']=="admin"){

echo
"登录成功";

session_start();//开启session

$_SESSION['username']
=
$_POST['username'];//将登录名保存到session中

header("Location:
admin.php");

exit();
}else{

header("Location:
login.php?errno=1");

exit();
}
}else{
header("Location:
login.php?errno=2");
exit();
}
?>
后台文件:admin.php
复制代码
代码如下:<?php
session_start();
if(empty($_SESSION['username'])){
header("Location:
login.php?errno=3");
exit();
}
echo
"你是管理员,你现在拥有后台管理权限";
?>
希望本文所述对大家的php程序设计有所帮助。

❷ php session 问题

<?php
session_start();
//加个这个
//$_SESSION['login_check'] = strtoupper(rand_code(4));
$_SESSION['login_check'] = "aaaa";

echo $_SESSION['login_check'];
?>

❸ PHP有没有办法监听session - PHP进阶讨论

java中似乎有一个session监听的功能,不知道PHP有没有提供类似的东西……比如,一个商城,要记录顾客今天访问了哪些商品,如果采用每访问一个商品就在数据库里写一次数据的话,数据库操作稍显频繁,所以我想把用户的访问记录先暂存在session里,在用户退出,或者session失效的时候,再一次性写入数据库。如果PHP不能自动监听session的话,那有没有好的方法来实现上面所说的功能?

❹ php 怎么使用session

PHP session用法其实很简单它可以把用户提交的数据以全局变量形式保存在一个session中并且会生成一个唯一的session_id,这样就是为了多了不会产生混乱了,并且session中同一浏览器同一站点只能有一个session_id,下面我们一起来看看关于session使用方法。
如何使用session,凡是与session有关的,之前必须调用函数session_start();
为session赋值很简单,如:

<?php
Session_start();
$Name = "这是一个Session例子";
Session_Register("Name");//注意,不要写成:Session_Register("$Name");
Echo $_SESSION["Name"];
//之后$_SESSION["Name"]为"这是一个Session例子"
?>
在php4.2之后,可以为session直接赋值:
复制代码 代码如下:
<?PHP
Session_Start();
$_SESSION["name"]="value";
?>

❺ php的session 有什么用

session是什么,刚开始我也不明白,非专业词典翻译为会议,会议期。直到接触asp后才知道session是干什么的,有什么用。
作个不太恰当的比喻吧(虽然不恰当,但意义却是一样的),session就好象你和你女友(或妻子)之间的感情似的,session是你和网站之间的感情。
session在WEB技术中占有非常重要的份量。由于网页是一种无状态的连接程序,因此你无法得知用户的浏览状态。因此我们必须
通过session记录用户的有关信息,以供用户再次以此身份对web服务器提供要求时作确认,例如,我们在某些网站中常常要求用户登录,
但我们怎么知道用户已经登录了呢,如果没有session的话,登录信息是无法保留的,那岂不要让用户在每一页网页中都要提供
用户名和密码。
当然,session不光用于用户身份认证功能,还可能用于其它方面,以后我们会提到的。
session用中文来解释就是会话期。一个会话期开始于用户输入一个站点的网址时,结束于他离开这个站点时。
session最早出现在动态脚本语言Active Server Pages中,它的功能之强大,是一句话无法说清楚的。
当php还在3.0版本时,session是它永远的痛。虽然php具有执行速度快,使用灵活,功能强大等优点,但因为session的问题,使很多站点的开发放弃了php,至少我的老板是这样认为的。当时有很多php免费函数库提供在php3上实现session的方案,但都让人感觉不正宗。
就好象你花好几千大洋买的手机却配置一个很粗糙的草作的袋子一样,虽然功能是一样的,但总让人觉得别扭。php4的出现让php在session问题上
有了翻身的机会。虽然它的session实现还不是很理想(主要是效率问题),但毕竟是它自己实现的,而且可以实际使用了。
那我们用session干什么呢,你说了半天,我用不上的话,你岂不有卖纸张之嫌。OK,我们来看看session有什么用:作过网站的人都有这样的体会,在一页页面中的变量(在本章都指服务器端变量,下同)是不能在下一页中用的,虽然有一些办法可以实现,比如用form,urlstring等等
但有些对于用户来说是不方便的,即使让form自动提交,但其中的延时在现今的网络状况下足以让人窒息,而这两种方法都明显加大程序员的负担。如果你正在开发一个大型项目,那这些额外的负担是不能忽略的。而有了session就好办了,session中注册的变量可以作为全局变量使用。什么,全局变量?
好极了。这样一来,你知道有什么用了吧:最主要的用于用户身份认证,程序状态记录,页面之间参数传递。
说了它这么半天的好处,你已经动心了吧,先别高兴,它还有缺点呢:它是用文件保存的变量(当然效率不高了,虽然可以用别的方式,但
很麻烦的),不能保存对象。与之相对的是,asp中的session可以保存对象变量,用内存变量来保存session变量。但为什么我们还选用php呢,呵呵,
为什么,你能从本书的开始看到这章,想必你也应该明白了吧,你还不明白,Faint,你再从头看起吧,我保证你成为PHP专家^_^。
session是怎样实现的呢?呵呵,你一定以为很高深吧,我来告诉你它的秘密。如果说只保存变量的话,很多读者都明白,这是很简单的,
但前面我们说过,http协议是一种无状态的连接,你怎么知道那个变量是谁的,这个变量又是谁的呢?在session实现中用cookie实现的。cookie
存在于客户端,也就是用户的机器中,里面保存着用户的session ID,也就是session号码,当用户的浏览器请求服务器时把session ID也一起送到
服务器,这样服务器就可以识别你是谁,也就可以把变量识别开了。这样我们就不难理解了,为什么有时session会失效了。不信的话,你可以试试:
在IE的"工具"菜单上有"Internet选项"菜单,打开后再选"安全"->"自定义级别",将安全设置中的"允许使用每个对话cookies"设为禁用,再看看
session能不能用。这下明白了吧!不过php4在linux/unix平台上可以自动检查cookies状态,当cookies 不可用时,自动会把session ID
附带在url上进行传递。这是它在session方面比asp多的唯一的优点了。

❻ php中如何用session判断用户是否以登陆

在判断密码和登录名是否正确的网页check.php中添加:

<?php
session_start();
require_once("sys_conf.inc");
if (isset($_POST["ok"]))
{
$link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);
mysql_select_db($DBNAME);
mysql_query("SET NAMES 'GBK'");
$sql="Select * from admin where name='".$_POST["name"]."' and pass='".$_POST["pass"]."'";
$result=mysql_query($sql);
$rows=mysql_num_rows($result);
if ($rows!=0)
{
$admin=$_POST["name"];
session_register("admin");
echo "<script>alert('登录成功!');location='admin_Index.php';</script>";
}
else
{
echo "<script>alert('用户名或密码错误!');history.back();</script>";
}

}
?>

然后每一页前加
<?
session_start();
if (!session_is_registered("admin"))
{
echo "<script>alert('您没有登录!');location='login.php';</script>";
exit;
}
?>

当然你的也可以,不过在check.php中要改。

❼ 一个关于PHP 简单的session问题 入门级别 求解决

既然是初级我就写一个面向过程的,文件的路径自己改下
第一步,登陆页面
<?php
if(isset($_POST) && (!empty($_POST)){//$_POST被设置 并且不为空,这isset,empty两种都写上比较保险,等你学了yii框架 tp框架就明白了

//连接数据库,选择数据库(代码省略,其实好久不用有点忘了,这种写法在php5.5已经废弃,你了解就行,现在都用框架,那个学好了才是真的)
$result=mysql_query("select * from tablename where username=$_POST['username'] and password=$_POST['password']");//查询是否有这用户并且密码是否正确,如果$result不为空则说明密码正确,密码其实应该md5加密,此处为了便于理解省略
if($result){
session_start();//开启session
$_SESSION[islogin]=1;

$_SESSION['username']=$_POST['username'];

}

}

?>

<form action=login.php>
<input type='text' name='username'>
<input type='password' name='password'>
</form>

以下为引入文件简称inc,所有页面都要加上以下代码.用了狂接就不用这么麻烦了.理解下就行

<?PHP

session_star();
if($_SESSION[islogin]!=1){
header(location:localhost/login.php)

}

首页:
require ('inc.php')//加载上面的文件

某个位置上写上: 欢迎$_SESSION['username'] 登陆//显示登录的用户名

祝你学习成功

❽ php SESSION用法 $_SESSION['']初始值

注意,在使用session之前一定要调用

<?php
session_start();

开始会话,否则会出错。在你的代码里我看不到。


$_SESSION数组的使用类似于普通数组。但它是有”魔法“的。当页面结束后,$_SESSION的内容会被PHP解析器自动保存下来,同时在用户的浏览器留下一个cookie。下次用户访问时,使用该cookie继续会话。


所以,检查一个session是否存在和普通数组一样:

<?php
//正确,检查flag下标是否设置
if(isset($_SESSION['flag']))...
//错误,会导致警告,下标不存在
if($_SESSION['flag'])...
//存储一个session值
$_SESSION['flag']=1;
//删除一个session值
unset($_SESSION['flag']);

一个没有设置的session是没有初始值的。就像你初始化一个空数组一样。

❾ PHP中SESSION 怎么用呢

$_SESSION (数组)

$_SESSION 是根据浏览器进程的..同个浏览器进程中..得到的SESSION_ID是一样的..所以数据共享

阅读全文

与phpsession监听相关的资料

热点内容
dns服务器在电脑上有什么用 浏览:915
杭州大妈喜欢程序员 浏览:686
python评论树讲解 浏览:678
juniper防火墙常用命令 浏览:426
vapp怎么下载地址 浏览:11
pdf里面内容怎么修改 浏览:807
收藏网址加密的浏览器 浏览:1000
phpurl问号 浏览:898
什么笔记本电脑可以用python 浏览:135
加密相册如何翻找 浏览:992
泰州地区DNS服务器地址 浏览:849
一种app可以买菜用英语怎么说 浏览:196
中国联通app里面通话详单怎么删除 浏览:505
计算机网络编译软件 浏览:100
程序员说不能说的秘密 浏览:700
在线shell编译器 浏览:103
为什么王者荣耀安卓转苹果成功登不上去 浏览:710
文件加密算法可行性报告 浏览:60
a3双面打印pdf 浏览:270
被命令文言文 浏览:717