php通过session防url攻击方法


Posted in PHP onDecember 10, 2014

本文实例讲述了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 strncasecmp字符串比较的小技巧
Jan 04 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
Sep 23 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
PHP的mysqli_stat()函数讲解
Jan 23 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 PHP
php利用cookies实现购物车的方法
Dec 10 #PHP
php针对cookie操作的队列操作类实例
Dec 10 #PHP
php利用cookie实现自动登录的方法
Dec 10 #PHP
PHP使用header()输出图片缓存实例
Dec 09 #PHP
PHP实现服务器状态监控的方法
Dec 09 #PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 #PHP
php实现MySQL数据库备份与还原类实例
Dec 09 #PHP
You might like
PHP+DBM的同学录程序(1)
2006/10/09 PHP
php microtime获取浮点的时间戳
2010/02/21 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
python中的装饰器详解
2015/04/13 Python
Python实现调度算法代码详解
2017/12/01 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
Python如何进行时间处理
2020/08/06 Python
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
中间件分为哪几类
2016/09/18 面试题
校长先进事迹材料
2014/02/01 职场文书
旷课检讨书1000字
2014/02/14 职场文书
离婚协议书的范本
2015/01/27 职场文书
项目安全员岗位职责
2015/02/15 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书
七年级上册生物的课件
2019/08/07 职场文书
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技