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
浅析is_writable的php实现
Jun 18 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
php制作动态随机验证码
Feb 12 PHP
PHP中list()函数用法实例简析
Jan 08 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
php实现留言板功能(会话控制)
May 23 PHP
php多文件打包下载的实例代码
Jul 12 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
PHP如何使用array_unshift()在数组开头插入元素
Sep 01 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代码
2007/03/08 PHP
elgg 获取文件图标地址的方法
2010/03/20 PHP
php 函数使用方法与函数定义方法
2010/05/09 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
php数组去重复数据示例
2014/02/25 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
2019/05/29 PHP
javascript操作文本框readOnly
2007/05/15 Javascript
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
推荐11个实用Python库
2015/01/23 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
python 提取文件指定列的方法示例
2019/08/07 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
社区党支部承诺书
2015/04/29 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL
AJAX实现省市县三级联动效果
2021/10/16 Javascript