php生成随机密码函数(四款)

 更新时间:2016年11月25日 17:13  点击:2040
下面提供了四款php生成随机密码函数哦,方法简单实用是一款用户自定的加密函数,这样如果不知道你的加密算法是很难破解的。

方法一

 代码如下 复制代码

function generate_password( $length = 8 ) {
    // 密码字符集,可任意添加你需要的字符
    $chars = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';

    $password = '';
    for ( $i = 0; $i < $length; $i++ )
    {
        // 这里提供两种字符获取方式
        // 第一种是使用 substr 截取$chars中的任意一位字符;
        // 第二种是取字符数组 $chars 的任意元素
        // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
        $password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
    }

    return $password;
}

方法二

动生成6位数字、字母 混合密码

 代码如下 复制代码
<?php
$str = "0123456789abcdefghijklmnopqrstuvwxyz";   //   输出字符集 
$n = 6;   //   输出串长度 
$len = strlen($str)-1;
for($j=0 ; $j<200 ; $j++){
for($i=0 ; $i<$n; $i++){
    $s .=  $str[rand(0,$len)]; 
}
echo $s . "<br/>";
$s = "";
}
?>
自动生成数字、字母、符号的密码
<?php
      $a = "12345678";
      $b = "abcdefghijklmnopqistuvwxyz";
      $s = substr(str_shuffle($a), 0, 2);
      $e = substr(str_shuffle($b), 0, 2);
      echo $s . substr(str_shuffle("!@#$%^&*"), 0, 2) . $e;
?>

方法三

 代码如下 复制代码

function create_password($pw_length = 8)
{
    $randpwd = '';
    for ($i = 0; $i < $pw_length; $i++)
    {
        $randpwd .= chr(mt_rand(33, 126));
    }
    return $randpwd;
}

// 调用该函数,传递长度参数$pw_length = 6
echo create_password(6);


方法三

 代码如下 复制代码

<?php
function getmicrotime()
{
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}
 
// 记录开始时间
$time_start = getmicrotime();
   
// 这里放要执行的php代码,如:
// echo create_password(6);
 
// 记录结束时间
$time_end = getmicrotime();
$time = $time_end - $time_start;

 // 输出运行总时间
echo "执行时间 $time seconds";
?>

获取当前页面的url地址php代码,第一款是一款获取无参数URL第二款是获取完整URL函数哦,如果你正找url参数的代码哦。
 代码如下 复制代码

<?php
// 说明:获取无参数url

function curpageurl()
{
    $pageurl = 'http';

    if ($_server["https教程"] == "on")
    {
        $pageurl .= "s";
    }
    $pageurl .= "://";

    if ($_server["server_port"] != "80")
    {
        $pageurl .= $_server["server_name"].":" . $_server["server_port"] . $_server['php_self'];
    }
    else
    {
        $pageurl .= $_server["server_name"] . $_server['php_self'];
    }
    return $pageurl;
}
?>

方法二

 代码如下 复制代码

<?php
// 说明:获取完整url

function curpageurl()
{
    $pageurl = 'http';

    if ($_server["https"] == "on")
    {
        $pageurl .= "s";
    }
    $pageurl .= "://";

    if ($_server["server_port"] != "80")
    {
        $pageurl .= $_server["server_name"] . ":" . $_server["server_port"] . $_server["request_uri"];
    }
    else
    {
        $pageurl .= $_server["server_name"] . $_server["request_uri"];
    }
    return $pageurl;
}
?>

另外,$_server['request_uri'] 和 $_server['request_url'] 是有稍微区别的:
$_server["request_uri"] 返回完整的路径 ( /directory/file.ext?query=string )
$_server['request_url'] 只返回文件路径,不包括参数,( /directory/file.ext ),和$_server['php_self']差不多,只不过在有些服务器上$_server['request_url']不可用

下面提供的php上传图片代码是一款利用php copy来上传文件的,他不但可以把图片上传到服务器,同时还把图片的地址保存到了mysql数据库里面哦。
 代码如下 复制代码

// 连接数据库
$conn = mysql_connect("localhost", "phpdb", "phpdb");
mysql_select_db("test",$conn);
?>
<?
// 取得网页的参数
$id=$_post['id'];

// 判断该用户名是否已经存在
$checksql="select * from image where id='$id'";
$check_re=mysql_query($checksql,$conn);
$num=mysql_num_rows($check_re);
if($num!=0){
 echo "<table width='100%' align=center><tr><td align=center>";
 echo "该用户名已经存在,请选择另一个<br>";
    echo "<font color=red>上传失败!</font><br><a href='网页特效:history.back(-1)'>返回</a>";
    echo "</td></tr></table>";
 exit();
}

// 方法二:只保存文件名,
// 保存文件名时,文件在php.ini配置文件中设置的upload临时目录中,也就是upload_tmp_dir 参数中

if ($photo<>""){ 
 if (($photo_type== "image/pjpeg")or($photo_type == "image/gif")){
  // c:winnt emp 使php.ini配置文件中设置的upload文件的临时目录
  $photodir="c:winnt emp/";
  if(!(file_exists($photo_name))){
   // 拷贝该图片文件到设定的上传文件临时目录中
     copy($photo,$photodir.$photo_name);
  }
 }
 else{
    echo "<script language=javascript>alert('上传照片只能是jpg或者gif!');history.go(-1)</script><br>";
  echo "或者<br>";
        echo "文件名已经存在,请为图片改一个文件名";
        exit;
 }
}
else{ 
 $photo_name="";
}
$sql="insert into image (id, photo) values('$id', '$photo_name')";

mysql_query($sql,$conn) or die ("插入数据失败: ".mysql_error());

// 关闭连接
mysql_close($conn);
// 显示上传图片成功
// 重定向到注册成功页面
header("location:display_image2.php?id=$id");

?>

代码二

<?php
// 连接数据库
$conn = mysql_connect("localhost", "phpdb", "phpdb");
mysql_select_db("test",$conn);
?>
<?
// 取得网页的参数
$id=$_post['id'];

// 判断该用户名是否已经存在
$checksql="select * from image where id='$id'";
$check_re=mysql_query($checksql,$conn);
$num=mysql_num_rows($check_re);
if($num!=0){
 echo "<table width='100%' align=center><tr><td align=center>";
 echo "该用户名已经存在,请选择另一个<br>";
    echo "<font color=red>上传失败!</font><br><a href='javascript:history.back(-1)'>返回</a>";
    echo "</td></tr></table>";
 exit();
}
// 方法一:在mysql中保存图片文件,
// 如果有图片文件,打开图片文件,将图片文件中的数据用函数
// addslashes处理,然后传递给变量$data,
// addslashes函数是给字符串加入斜线,使字符串能够顺利写入数据库中
// 这样变量$data 中保存的就是图片文件的数据了
if ($photo<>""){
 $fp=fopen($photo,"r");
 $data=addslashes(fread($fp,filesize($photo)));
}
$password=md5($password);
$sql="insert into image (id,photo) values('$id','$data')";

mysql_query($sql,$conn) or die ("插入数据失败: ".mysql_error());

// 关闭连接
mysql_close($conn);
// 显示上传图片成功
// 重定向到注册成功页面
header("location:display_image1.php?id=$id");

<html>
<head>
<title>php教程写的网页计数器代码</title>
<head>
<body>

 代码如下 复制代码

<?php
$countfile = "counter.txt";
//定义计数器写入的文件是当前目录下的counter.txt文件中,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) {
 //用读写模式打开文件,若不能打开就退出
 printf ("open file %s failed!",$countfile);
 exit;
}
else
{
//如果文件能够正常打开,就读入文件中的数据,假设是1
$count = fread ($fp,10);
//读取10位数据
$count = $count + 1;
//count ++
fclose ($fp);
//关闭当前文件
$fp = fopen($countfile, "w+");
//以覆盖模式打开文件
fwrite ($fp,$count);
//写入加1后的新数据
fputs($fp,$fg);
//显示计数结果
// 数字显示
echo "<div align=center><font size=5>计数次数:$count</font><br>";

// 图形模式计数
$fp = fopen ($countfile, "r"); //以只读模式打开文件
$array_count = 1; //定义一个表示数组元素位置的变量,下面要用
while (! feof($fp)) {
$current_number = fgetc($fp);
$counter_array[$array_count] = $current_number;
$array_elements = count ($counter_array);
$array_count = $array_count + 1;
}
echo "<div align=center><font size=5>计数次数:";
for ($array_id = 1;$array_id < $array_elements; ++ $array_id) {
echo "<img src=countimg/".$counter_array[$array_id].".gif>";
}
echo "</font>";

fclose ($fp);
//并关闭文件
}

?>

</body>
</html>

判断用户登陆主要分几个过程,第一步是用户登陆成功后把数据保存到session中,然后当用户访问需要登陆过的用户权限时就来判断session是否为空,如果不是就登录成功。下面来看个实例

 

<?php教程
session_start();

if(getconfig("chatroom_admin")==$_post["username"]&&getconfig("chatroom_adminpassword")==md5($_post["password"]))
{
 //登陆成功,注册session
 session_register("administrator");
 if(isset($_session["hack_num"]))
 {
  session_unregister("hack_num");
 }
 $_session["administrator"] = "yes";
 header("location:main.php");
 exit;

}
else
{
 if($_session["hack_num"]=="")
 {
  session_register("hack_num");
  $_session["hack_num"] = 1;
 }
 else
 {
  $_session["hack_num"] ++;

 }
 header("location:../notice.php?id=".admin_login_lost);
 exit;
}
?>

看到红色的没,那里就是用户登录成功把数据保存到session['hack_num']面。

<?php
//这个页面首先判断用户是否正确登录,如未登录,就转到登录页面。
session_start();
if((!$user_id)or(!$user_array[hack_num])or(!$user_array[hack_num])){
    header("location: login.php3");
}
?>

上面这段代码是用来判断session['hack_num']是否有值了,有就是登录成功了。

本站原创转载注明来源http://www.111cn.net/phper/php.html

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • 超简洁java实现双色球若干注随机号码生成(实例代码)

    这篇文章主要介绍了超简洁java实现双色球若干注随机号码生成(实例代码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-02
  • php二维码生成

    本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • Java生成随机姓名、性别和年龄的实现示例

    这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • C#生成随机数功能示例

    这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08