php通过session防url攻击方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php通过session防url攻击方法。分享给大家供大家参考。具体实现方法如下:

通过session跟踪,可以很方便地避免url攻击的发生,php采用session防url攻击方法代码如下:

复制代码 代码如下:
<?php
session_start(); 
$clean = array(); 
$email_pattern = '/^[^@s<&>]+@([-a-z0-9]+.)+[a-z]{2,}$/i'; 
if (preg_match($email_pattern, $_POST['email'])) 
{
$clean['email'] = $_POST['email']; 
$user = $_SESSION['user']; 
$new_password = md5(uniqid(rand(), TRUE)); 
if ($_SESSION['verified']) 

/* Update Password */ 
mail($clean['email'], 'Your New Password', $new_password); 


?>

使用时URL可设置如下:
http://example.org/reset.php?user=php&email=chris%40example.org

如果reset.php信任了用户提供的这些信息,这就是一个语义URL 攻击漏洞,在此情况下,系统将会为php 帐号产生一个新密码并发送至chris@example.org,这样chris 成功地窃取了php 帐号.

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

php实现字符串翻转的方法

本文实例讲述了php实现字符串翻转的方法。分享给大家供大家参考。具体实现方法如下: <?php header("content-type:text/html;chars...

PHP页面跳转操作实例分析(header方法)

本文实例分析了PHP页面跳转操作。分享给大家供大家参考,具体如下: 跳转 header()为php函数,向浏览器发送指定命令 html: <meta http-equiv="...

thinkphp中U方法按路由规则生成url的方法

如下所示: //更改模块配置文件 'URL_ROUTER_ON' => true, 'URL_ROUTE_RULES'=>[]//编写路由优化 tp开启路由后,使...

PHP使用file_get_contents发送http请求功能简单示例

本文实例讲述了PHP使用file_get_contents发送http请求功能。分享给大家供大家参考,具体如下: 服务器端模拟 POST/GET 等请求,使用 CURL 很容易办到(例如...

php判断当前操作系统类型

如何使用php获取当前操作系统类型呢?严格来说这里分两种情况,一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用php获取这两种情况下的操作系统类...