php 检测密码,密码强度检测_php 密码强度检测代码

news/2024/11/8 16:56:06/

摘要 腾兴网为您分享:php 密码强度检测代码,篆刻字典,游戏堂,一加商店,微众银行等软件知识,以及外卖通,变形金刚动态壁纸,唯一优品,会计考试go,玩途旅行,玩鲨鱼游戏,彩虹表,damonps2,pb12,福田银座,天猫收藏店铺链接,网上宿迁,hp7110驱动,m7100,microsoftproject等软件it资讯,欢迎关注腾兴网。在php编程中,尤其是用户注册这样的模块时,对用户密码强度的要求,再多也不过。 现在很多网站,都会对密码强度进行检测,以获取符合安全要求的用户密码。 不过,有些对密码强...

在php编程中,尤其是用户注册这样的模块时,对用户密码强度的要求,再多也不过。

现在很多网站,都会对密码强度进行检测,以获取符合安全要求的用户密码。

不过,有些对密码强度检测的功能,是建立在js或其它脚本上的,这可能会被恶意破坏者越过密码检测,而进行破坏。

本文介绍的这段代码,基于对长度、特殊字符、数字、字母等进行检测,另外,还可以自己添加一些额外的字符,以加强密码的安全性。

看代码吧,如下:

<?php /** * * @检测密码强度 * @param string $password * @return int * @edit www.jbxue.com */function testPassword($password){if ( strlen( $password ) == 0 ){return 1;}$strength = 0;/*** get the length of the password ***/$length = strlen($password);/*** check if password is not all lower case ***/if(strtolower($password) != $password){$strength += 1;}/*** check if password is not all upper case ***/if(strtoupper($password) == $password){$strength += 1;}/*** check string length is 8 -15 chars ***/if($length >= 8 && $length <= 15){$strength += 1;}/*** check if lenth is 16 - 35 chars ***/if($length >= 16 && $length <=35){$strength += 2;}/*** check if length greater than 35 chars ***/if($length > 35){$strength += 3;}/*** get the numbers in the password ***/preg_match_all('/[0-9]/', $password, $numbers);$strength += count($numbers[0]);/*** check for special chars ***/preg_match_all('/[|!@#$%&*\/=?,;.:\-_+~^\\\]/', $password, $specialchars);$strength += sizeof($specialchars[0]);/*** get the number of unique chars ***/$chars = str_split($password);$num_unique_chars = sizeof( array_unique($chars) );$strength += $num_unique_chars * 2;/*** strength is a number 1-10; ***/$strength = $strength > 99 ? 99 : $strength;$strength = floor($strength / 10 + 1);return $strength;}/*** 调用示例 ***/$password = 'php_tutorials_and_examples!123';echo testPassword($password);?>

相关推荐


http://www.ppmy.cn/news/241095.html

相关文章

物联网全栈开发实战系列文章汇总(共880篇,持续更新-2023.06.01)

物联网全栈开发实战(共880篇) 文章目录 物联网全栈开发实战(共880篇)1、Arduino单片机系列1.1 Arduino开发实例(包含各类传感器驱动、通信实例、DIY实例,共114篇)1.2 Arduino与Proteus仿真实例(包含大量设备驱动仿真,共109篇)1.3 Arduino与FreeRTOS编程(共18篇)1.4…

linux dd层次,【linux】dd命令详解

本文转自 上官知识库 http://www.uplook.cn/index-Index-show-view719.html?treeid23 dd是一个linux下的文件复制和转换程序。除非告诉dd命运去进行某种转换操作&#xff0c;否则它只是进行从输入文件到输出文件的复制工作。不过现在dd更多的用来进行磁盘性能的测试&#xff0…

从Linux内核源码到操作系统

Linux源码只有运行起来才能成为操作系统&#xff0c;否则她只能静静的躺在存储介质上沉睡&#xff0c;本文就讲解如何将这个睡美人唤醒&#xff0c;唤醒后给他穿上旗袍她就成为RedHat&#xff0c;给她换上包臀裙她就成为SUSE&#xff0c;再或者给她换上超短裙&#xff0c;她就成…

手工修改HP主机Instance Number三招

有时我们需要更改设备的instance number&#xff0c;&#xff08;例如配置MC的时候&#xff09;&#xff0c;本文给出WTEC的最权威步骤。[more] 其中procedure I比较简单&#xff0c;但并不总是好用&#xff0c;最彻底的还是procedureII。 另外&#xff0c;建议大家先做一个系统…

LoadRunner测试经典案例

LoadRunner测试经典案例使用虚拟用户(Virtualusers)来模拟实际用户对业务系统施加压力。虚拟用户在一个中央控制器(controllerstation)的监视下工作。 在做一个测试方案时&#xff0c;要做的第一件事就是创建虚拟用户执行脚本。LoadRunner提供了Virtual User Generator来录制或…

高可用性oracle配置步骤(HP-Unix环境)

硬件环境&#xff1a; 两台HP Server rp5470小型机&#xff0c;7110磁盘阵列 软件环境&#xff1a; HP-UX B.11.11、MirrorDisk/UX B.11.11、MC / Service Guard A.11.14、Oracle 9i for HP-UX。 3.1准备系统3.1.1编辑安全文件&#xff1a;[/machine01]vi .rhosts文件machin…

如设置oracle在Hp-unix上的自动启动

经常有人会需要Oracle数据库随着操作系统一起启动和关闭&#xff0c;而修改/etc/oratab,设置了oracle SID行启动为Y时实际上是不好用的。本文以一个例子来示范如何去做。[more] 如下给的是一个example&#xff0c;注意部分内容可能要改&#xff0c;比如oracle的用户名。 1、在/…

Hp unix rm文件空间不释放问题解决

1 引言 很多人会遇到在操作系统上rm掉一个大的文件&#xff0c;以解决文件系统超标的问题&#xff0c;可是有的时侯文件删除掉了&#xff0c;而空间却未释放出来。论坛上也常常见这样贴子&#xff0c;为什么会这样&#xff0c;如何解决呢&#xff1f;本文只局限于Hp unix的操作…