PHP学习笔记(二)

本文解析了一个PHP代码片段,展示了如何使用Session和MD5生成token,确保用户会话的安全验证。通过`token_start`和`token_check`函数,实现了一次性token的生成与验证过程,适用于简单的Web应用防止CSRF攻击。
摘要由CSDN通过智能技术生成

分析理解一个添加基础token功能的代码

session_start(); //启动Session
 function token_start() { //创建函数token_start
     $_SESSION['token'] = md5(rand(110000)); 创建变量token,计算生成随机数的MD5散列
 } 
 
//验证token
 function token_check() { 
     $return = $_REQUEST['token'] === $_SESSION['token'] ? true : false; //验证请求token与生成token是否一致,将结果(true、false)返回给return
     token_start(); 
     return $return; 
 } 
    
 //如果token为空则生成一个token 
 if(!isset($_SESSION['token']) || $_SESSION['token']=='') { 
     token_start(); 
 } 
 
 if(isset($_POST['test'])){ 
     if(!valid_token()){ //如果是无效的,打印失败
         echo "token fail"; 
     }else{ //反之,有效则成功
         echo 'success,Value:'.$_POST['test']; 
     } 
 } 

session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。
Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。
session_start()就是用来启动 Session的
function,用来创建php函数
语法

function functionName()
{
    // 要执行的代码
}

functionName以字母或下划线开头(不能以数字开头)
存储session 变量的正确方法是使用 $_SESSION 变量

md5() 函数计算字符串的 MD5 散列。
md5() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法。
语法

md5(string,raw)

参数
string:必需。规定要计算的字符串。
raw:可选。
规定十六进制或二进制输出格式:TRUE - 原始 16 字符二进制格式;FALSE - 默认。32 字符十六进制数

rand() 函数生成随机整数。
语法

rand(min,max)生成区间内的随机数

运算符
x === y 绝对等于 如果 x 等于 y,且它们类型相同,则返回 true

isset() 函数用于检测变量是否已设置并且非 NULL。
语法

bool isset ( mixed $var [, mixed $... ] )

参数说明:
$var:要检测的变量。
如果一次传入多个参数,那么 isset() 只有在全部参数都被设置时返回 TRUE,计算过程从左至右,中途遇到没有设置的变量时就会立即停止。

返回值
如果指定变量存在且不为 NULL,则返回 TRUE,否则返回 FALSE。

$_POST 变量用于收集来自 method=“post” 的表单中的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值