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 相关文章推荐
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
Sep 24 PHP
PHP学习笔记 IIS7下安装配置php环境
Oct 29 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
Zend Framework页面缓存实例
Jun 25 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
php中的异常和错误浅析
May 03 PHP
PHP利用百度ai实现文本和图片审核
May 08 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
Aug 03 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
PHP实现无限极分类图文教程
2014/11/25 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
PHP代码加密的方法总结
2020/03/13 PHP
js实现简单的验证码
2015/12/25 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
深入解析Python编程中super关键字的用法
2016/06/24 Python
解决python 输出是省略号的问题
2018/04/19 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
浅析Python迭代器的高级用法
2020/07/16 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
优秀员工个人的自我评价
2013/11/29 职场文书
教师党员一句话承诺
2014/03/28 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
党支部对照检查材料
2014/08/25 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
组织生活会发言材料
2014/12/15 职场文书
婚前保证书范文
2015/02/28 职场文书
护士自荐信范文
2015/03/25 职场文书
关爱空巢老人感想
2015/08/11 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
MySQL视图概念以及相关应用
2022/04/19 MySQL