php登陸驗證
『壹』 php 登錄時 提示驗證嗎錯誤 Warning: Unknown: Failed to write session data (files). 大神怎麼回事
應該是你的session配置問題。檢查下session的配置。
『貳』 怎麼使用PHP PDO 寫一個登錄驗證代碼
<span style="font-size:18px;"><span style="font-size:18px;"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8" />
</head>
<?php
session_start(); //初始化session變數
$username = $_POST['name']; //接收表單提交的用戶名
$password=md5($_POST['pwd']); //接收表單提交的密碼
class chkinput //定義類
{
var $name;
var $pwd;
function chkinput($x,$y) //定義一個方法
{
$this->name=$x; //將管理員名稱傳給類對象$this->name
$this->pwd=$y; //將管理員密碼傳給類對象$this->pwd
}
function checkinput()
{
include("conn.php"); //連接資料庫文件
$sql=mysql_query("select username,password from admin where username='".$this->name."' and password='".$this->pwd."'",$conn);
$info=mysql_fetch_array($sql); //檢索管理員名稱和密碼是否正確
if($info==false) //如果管理員名稱或密碼不正確,則彈出相關提示信息
{
echo "<script language='javascript'>alert('您輸入的管理員名稱或密碼錯誤,請重新輸入!');history.back();</script>";
exit;
}
else //如果管理員名稱或密碼正確,則直接跳轉到登陸成功後界面
{
echo "<script>window.location='home.php';</script>";
$_SESSION['admin_name']=$info['username']; //將管理員名稱存到$_SESSION[admin_name]變數中
$_SESSION['pwd']=$info['password']; ////將管理員名稱存到$_SESSION[pwd]變數中
}
}
}
$obj=new chkinput(trim($username),trim($password)); //創建對象
$obj->checkinput(); //調用類
?>
</html></span></span>
『叄』 php如何實現登錄驗證碼
php實現登錄驗證碼的方法:首先產生4到6位數的隨機驗證碼;然後把產生的每個字元保存到session或資料庫;接著將驗證碼發送到用戶的手機;最後將和輸入的驗證碼進行對比驗證即可。
推薦:《PHP視頻教程》
PHP實現簡單的驗證碼功能機制
網站的安全性是開發者不可忽視的一個問題,目前使用最多的一種可以提高網站安全性的方法就是使用驗證碼功能機制,有的僅僅使用一個幾位數字字母混亂的驗證碼,有的進行手機發送簡訊進行驗證,有的使用郵箱發送郵件進行驗證,但是這個驗證碼功能機制是如何實現的呢?下面就為大家詳細解釋驗證碼功能機制的實現思路以及簡單的實現方法。
1、驗證碼功能機制實現思路
① 常規的驗證碼實現:
a、產生一張png的圖片
b、為圖片設置背景色
c、設置字體顏色和樣式
d、產生4位數的隨機的驗證碼
e、把產生的每個字元調整旋轉角度和位置畫到png圖片上
f、加入噪點和干擾線防止注冊機器分析原圖片來惡意注冊
g、輸出圖片
h、釋放圖片所佔內存
i、將驗證碼保存到session或是資料庫
j、將和輸入的驗證碼進行對比
② 簡訊(郵箱)驗證碼機制:
a、產生4-6位數的隨機的驗證碼
b、把產生的每個字元保存到session或是資料庫
c、將驗證碼發送到用戶的手機(郵箱)
d、用戶在規定時間內進行輸入
e、將驗證碼從session或是資料庫中取出
f、將和輸入的驗證碼進行對比驗證
2、簡單的實現驗證碼功能機制
① 新建captcha.php,寫入以下代碼
<?php
/**
* =======================================
* Created by WeiBang Technology.
* User: Wei ZhiHua
* Date: 2016/10/12 0020
* Time: 下午 4:14
* Power: 實現驗證碼功能
* =======================================
*/
//開啟session
session_start();
//創建一個大小為 100*30 的驗證碼
$image = imagecreatetruecolor(100, 30);
$bgcolor = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $bgcolor);
$captch_code = '';
for ($i = 0; $i < 4; $i++) {
$fontsize = 6;
$fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));
$data = '';
$fontcontent = substr($data, rand(0, strlen($data) - 1), 1);
$captch_code .= $fontcontent;
$x = ($i * 100 / 4) + rand(5, 10);
$y = rand(5, 10);
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}
//就生成的驗證碼保存到session
$_SESSION['authcode'] = $captch_code;
//在圖片上增加點干擾元素
for ($i = 0; $i < 200; $i++) {
$pointcolor = imagecolorallocate($image, rand(50, 200), rand(50, 200), rand(50, 200));
imagesetpixel($image, rand(1, 99), rand(1, 29), $pointcolor);
}
//在圖片上增加線干擾元素
for ($i = 0; $i < 3; $i++) {
$linecolor = imagecolorallocate($image, rand(80, 220), rand(80, 220), rand(80, 220));
imageline($image, rand(1, 99), rand(1, 29), rand(1, 99), rand(1, 29), $linecolor);
}
//設置頭
header('content-type:image/png');
imagepng($image);
imagedestroy($image);
?>② 新建form.php,寫入以下代碼