好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php用户认证原理 php 用户

很多站长朋友们都不太清楚php用户认证原理,今天小编就来给大家整理php用户认证原理,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php登陆原理 2、 PHP HTTP 认证实例详解 3、 PHP CRYPT实现密码验证原理是什么? php登陆原理

登录后验证用户名密码 都对的话 存一个session 这个存在于服务器端~~ 这样就能确定是不是登录了~~

然后登录后有一些关于会员权限的问题 这个随意你去做了 比如登录的人uid 为998 那么他的权限是普通用户 比如为1 那么他去做什么事情的时候先是判断登录与否 然后判断权限是不是够 不过就提示没有权限 够的话就正常执行操作就好了~~ 纯手打

PHP HTTP 认证实例详解

HP来实现HTTP的强制认证是十分简单的,只需简单的几行代码就可以实现,下面我们来看一个例子,然后结合这里例子我向大家详细介绍一下PHP实现HTTP认证。

<?php

if(!isset($_SERVER['PHP_AUTH_USER']))

{

header('WWW-Authenticate:

Basic

realm="系统名称"');

header('HTTP/1.0

401

Unauthorized');

echo

'未通过HTTP认证.';

exit;

}

else

{

echo

'认证通过.';

echo

'用户名:

'.$_SERVER['PHP_AUTH_USER']."\n";

echo

'密码:

'.$_SERVER['PHP_AUTH_PW']."\n";

}

?>

1.实现说明

怎么样,看到上面的代码了吧,就这么几行添加到你的程序页面上就可以实现了.

它是通过利用header()函数向客户端浏览器发送”Authentication

Required”信息,强制其弹出一个用户名/密码输入窗口,当用户输入用户名和密码后,包含有URL的PHP脚本将会加上预定义变量PHP_AUTH_USER,

PHP_AUTH_PW和AUTH_TYPE然后再次调用,这三个变量分别表示用户名,密码和认证类型(从PHP5.0.1起开始支持”Basic”和”Digest”两种认证方式),它们被保存在$_SERVER(从HP>>4.1.0起有效)或$HTTP_SERVER_VARS(从PHP3起有效)数组中具体应用时,我们可以把验证的几行代码写成函数,只要判断到用户变量不存在或验证不正确就一直执行该函数并弹出窗口,而且还可以设置错误登录几次就不允许该用户访问,具体的使用大家使劲的发散思考吧.

2.注意事项:

1.这段代码必须放到程序的开始,且在其开始执行之前不能有任何输出(若有输出则需要使用输出缓冲函数才行).

2.PHP的HTTP认证机制仅在PHP以Apache模块方式运行时才有效,这个容易理解,它本身是HTTP强制认证,肯定是不适合于CGI版本,不能在命令行下执行的.

3.header发送标头代码时请小心.为了对所有的客户端保证兼容性,关键字”Basic”的第一个字母必须大写为”B”,分界字符串必须用双引号引用(不能是单引号);在HTTP/1.0和401之间必须有且仅有一个空格.

4.在上面列子中,仅输出了用户名和密码,而在实际系统中则可按照登录验证流程进行与数据库或其他方式进行判断和验证.

5.从PHP4.3.0起,为防止有人通过编写脚本来从页面上获取密码,当外部认证对特定页面有效,并且安全模式被开启时,PHP_AUTH变量将不会被设置.可以用REMOTE_USER来辨别外部认证的用户,用AuthType指令来判断外部认证机制是否有效.

6.要想让HTTP认证能够在IIS下工作,PHP配置选项cgi.rfc2616_headers必须设置为0(默认值).

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP CRYPT实现密码验证原理是什么?

例:

<!--check_user_crypt.php:使用crypt() 函数验证用户---------------->

<?php

$user_name=$_POST["user_name"];

require_once("sys_conf.inc"); //系统配置文件,包含数据库配置信息

//连接数据库

$link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);

mysql_select_db($DBNAME); //选择数据库my_chat

//查询是否存在登录用户信息

$str="select name,password from user where name ='$user_name'";

$result=mysql_query($str,$link_id); //执行查询

@$rows=mysql_num_rows($result); //取得查询结果的记录笔数

$user_name=$_SESSION["user_name"];

$password=$_POST["password"];

$salt = substr($password, 0, 2);

$password_en=crypt($password,$salt); //使用crypt()对用户密码进行加密

//对于老用户

if($rows!=0)

{

list($name,$pwd)=mysql_fetch_row($result);

//如果密码输入正确

if($pwd==$password_en)

{

$str="update user set is_online =1 where name ='$user_name' and password='$password_en'";

$result=mysql_query($str, $link_id);//执行查询

require("main.php"); //转到聊天页面

}

//密码输入错误

else

{

require("relogin.php");

}

}

//对于新用户,将其信息写入数据库

else

{

$str="insert into user (name,password,is_online) values('$user_ name','$password_en',1)";

$result=mysql_query($str, $link_id); //执行查询

require("main.php"); //转到聊天页面

}

//关闭数据库

mysql_close($link_id);

?>

核心部分在于第16、17行使用crypt()函数获取加密后的密码,而通过在第25行比较数据库中的密码和加密后的密码是否相等来检查用户是否合法。

例如,用户名为rock,密码为123456,则加密后的密码为: 12tir.zIbWQ3c

上面就实现了一个简单的用户身份验证系统。在使用crypt()保护重要的机密信息时,需要注意的是,在缺省状态下使用crypt()并不是最安全的,只能用在对安全性要求较低的系统中。

更多问题到后盾网问题求助专区。

关于php用户认证原理的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php用户认证原理 php 用户的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did242755
更新时间:2023-05-28   阅读:27次

上一篇: php队列触发器 php队列排队处理数据

下一篇:php循环放映图片 php循环放映图片大全

相关资讯

最新资料更新

  • 1.php求100的质数 php求出1100的素数
  • 2.zblogphp分类 zblog asp
  • 3.php显示字段内容 php限制显示字数
  • 4.php登录网站 php网页登录
  • 5.关于PHPchmod的信息
  • 6.php在线做点兼职 php在线做点兼职是真的吗
  • 7.php队列和缓存 php中的九大缓存技术
  • 8.php输出jq代码 php输出hello
  • 9.无法使用curlphp 无法使用此地区的账号登陆
  • 10.vscode开发php vscode开发JAVA方便吗
  • 11.php相除保留到分 php除法保留小数
  • 12.mac安装php扩展 mac系统安装php环境
  • 13.php暂停方法 php 停止执行
  • 14.php绘制健康码 php源码怎么搭建网站
  • 15.怎么开发一个php项目 php项目开发流程
  • 16.php重命名不了 php 命名空间 通俗易懂
  • 17.php匹配尖括号 括号匹配python代码
  • 18.php配置外网访问 phpstudy外网映射
  • 19.phpu=13647的简单介绍
  • 20.node会取代php nodejs会被deno取代吗

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]