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 相关文章推荐
杏林同学录(一)
Oct 09 PHP
实时抓取YAHOO股票报价的代码
Oct 09 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
PHP中的按位与和按位或操作示例
Jan 27 PHP
php伪静态之APACHE篇
Jun 02 PHP
php实现的树形结构数据存取类实例
Nov 29 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
PHP数组游标实现对数组的各种操作详解
Jan 26 PHP
php微信开发之百度天气预报
Nov 18 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
php数组一对一替换实现代码
2012/08/31 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
python实现分页效果
2017/10/25 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
python 写一个文件分发小程序
2020/12/05 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
《秋游》教学反思
2014/04/24 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
奉献演讲稿范文
2014/05/21 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
开除员工通知
2015/04/22 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python
python Django框架快速入门教程(后台管理)
2021/07/21 Python