php跨站攻击实例分析


Posted in PHP onOctober 28, 2014

本文实例讲述了php跨站攻击的原理与防范技巧。分享给大家供大家参考。具体方法分析如下:

跨站攻击就是利用程序上的一些细节或bug问题进行的,那么我们要如何耿防止跨站攻击呢?下面就以一个防止跨站攻击例子来说明,希望对各位有帮助。

<?php

#demo for prevent csrf

/**

* enc

*/

function encrypt($token_time) {

return md5('!@##$@$$#%43' . $token_time);

}

$token_time = time();

$token = encrypt($token_time);

$expire_time = 10;

if ($_POST) {

$_token_time = $_POST['token_time'];

$_token = $_POST['token'];

if ((time() ? $_token_time) > $expire_time) {

echo “expired token”;

echo “<br />”;

}

echo $_token;

echo “<br />”;

$_token_real = encrypt($_token_time);

echo $_token_real;

//compare $_token and $_token_real

}

?>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv=”content-type” content=”text/html; charset=utf-8″ />

<title>test for csrf</title>

<meta http-equiv=”" content=”" />

</head>

<body>

<form method=”post” action=”">

<input type=”text” name=”text” id=”" value=”hello” />

<input type=”hidden” name=”token” id=”" value=”<?php echo $token ?>” />

<input type=”hidden” name=”token_time” id=”" value=”<?php echo $token_time ?>” />

<input type=”submit” name=”submit” id=”" value=”submit” />

</form>

</body>

</html>

 
通过在你的表单中包括验证码,你事实上已经消除了跨站请求伪造攻击的风险。可以在任何需要执行操作的任何表单中使用这个流程
当然,将token 存储到session更好,这里只是简单示例下

简单分析:

token防攻击也叫作令牌,我们在用户访问页面时就生成了一个随机的token保存session与表单了,用户提交时如果我们获取到的token与session不一样就可以提交重新输入提交数据了

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

PHP 相关文章推荐
ob_start(),ob_start('ob_gzhandler')使用
Dec 25 PHP
PHP程序61条面向对象分析设计的经验小结
Nov 12 PHP
PHP array_multisort()函数的使用札记
Jul 03 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
php实现读取和写入tab分割的文件
Jun 01 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
微信自定义分享php代码分析
Nov 24 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 PHP
php获取根域名方法汇总
Oct 28 #PHP
3款值得推荐的微信开发开源框架
Oct 28 #PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 #PHP
smarty中js的调用方法示例
Oct 27 #PHP
Smarty中常用变量操作符汇总
Oct 27 #PHP
Smarty中调用FCKeditor的方法
Oct 27 #PHP
smarty简单分页的实现方法
Oct 27 #PHP
You might like
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
javascript编程起步(第六课)
2007/01/10 Javascript
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
python入门前的第一课 python怎样入门
2018/03/06 Python
python实现飞机大战
2018/09/11 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
Python有参函数使用代码实例
2020/01/06 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
世界上最大的巴士旅游观光公司:Big Bus Tours
2016/10/20 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
征兵宣传标语
2014/06/20 职场文书
住房抵押登记委托书
2014/09/27 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
教师节班会主持词
2015/07/06 职场文书
初中运动会前导词
2015/07/20 职场文书
家电创业计划书
2019/08/05 职场文书
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server