php通过session防url攻击方法

2015-01-24信息快讯网

这篇文章主要介绍了php通过session防url攻击方法,可通过session获取用户名再传入URL来防止URL攻击,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了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使用正则表达式获取图片url的方法
php使用CURL伪造IP和来源实例详解
php+mysql实现无限分类实例详解
php截取html字符串及自动补全html标签的方法
php在linux下检测mysql同步状态的方法
php正则匹配html中带class的div并选取其中内容的方法
PHP中new static() 和 new self() 的区别介绍
php计划任务之ignore_user_abort函数实现方法
php的sso单点登录实现方法
CI框架中site_url()和base_url()的区别
WampServer下安装多个版本的PHP、mysql、apache图文教程
PHP和Shell实现检查SAMBA与NFS Server是否存在
php读取mssql的ntext字段返回值为空的解决方法
php查询mssql出现乱码的解决方法
VPS中使用LNMP安装WordPress教程
php连接与操作PostgreSQL数据库的方法
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
php将access数据库转换到mysql数据库的方法
php实现refresh刷新页面批量导入数据的方法
php自定文件保存session的方法
php利用cookies实现购物车的方法
php针对cookie操作的队列操作类实例
php利用cookie实现自动登录的方法
PHP使用header()输出图片缓存实例
PHP实现服务器状态监控的方法
thinkphp文件处理类Dir.class.php的用法分析
PHP生成RSS文件类实例
Yii使用ajax验证显示错误messagebox的解决方法
php实现的SESSION类
Yii核心组件AssetManager原理分析
PHP中__FILE__、dirname与basename用法实例分析
ThinkPHP中Session用法详解
PHP魔术方法__GET、__SET使用实例
PHP图像处理之imagecreate、imagedestroy函数介绍
©2014-2024 dbsqp.com