伪造跨站恳求引见
伪造跨站恳求比拟难以防备,而且危害宏大,攻击者能够经过这种方式恶作剧,发spam信息,删除数据等等。这种攻击常见的表现方式有:
伪造链接,诱惑用户点击,或是让用户在不知情的状况下访问
伪造表单,诱惑用户提交。表单能够是躲藏的,用图片或链接的方式假装。
比拟常见而且也很低价的防备手腕是在一切可能触及用户写操作的表单中参加一个随机且变换频繁的字符串,然后在处置表单的时分对这个字符串停止检查。这个随机字符串假如和当前用户身份相关联的话,那么攻击者伪造恳求会比拟费事。
yahoo对付伪造跨站恳求的方法是在表单里参加一个叫.crumb的随机串;而facebook也有相似的处理方法,它的表单里常常会有post_form_id和fb_dtsg。
随机串代码完成
我们依照这个思绪,山寨一个crumb的完成,代码如下:
<?php class Crumb { CONST SALT = \"your-secret-salt\"; static $ttl = 7200; static public function challenge($data) { return hash_hmac(\'md5\', $data, self::SALT); } static public function issueCrumb($uid, $action = -1) { $i = ceil(time() / self::$ttl); return substr(self::challenge($i . $action . $uid), -12, 10); } static public function verifyCrumb($uid, $crumb, $action = -1) { $i = ceil(time() / self::$ttl); if(substr(self::challenge($i . $action . $uid), -12, 10) == $crumb || substr(self::challenge(($i - 1) . $action . $uid), -12, 10) == $crumb) return true; return false; } }
代码中的$uid表示用户独一标识,而$ttl表示这个随机串的有效时间。
应用示例
结构表单
在表单中插入一个躲藏的随机串crumb
<input type=\"hidden\" name=\"crumb\" value=\"<?php echo Crumb::issueCrumb($uid)?>\">
处置表单 demo.php
对crumb停止检查
<?php if(Crumb::verifyCrumb($uid, 伪造跨站恳求引见
伪造跨站恳求比拟难以防备,而且危害宏大,攻击者能够经过这种方式恶作剧,发spam信息,删除数据等等。这种攻击常见的表现方式有:
伪造链接,诱惑用户点击,或是让用户在不知情的状况下访问
伪造表单,诱惑用户提交。表单能够是躲藏的,用图片或链接的方式假装。
比拟常见而且也很低价的防备手腕是在一切可能触及用户写操作的表单中参加一个随机且变换频繁的字符串,然后在处置表单的时分对这个字符串停止检查。这个随机字符串假如和当前用户身份相关联的话,那么攻击者伪造恳求会比拟费事。
yahoo对付伪造跨站恳求的方法是在表单里参加一个叫.crumb的随机串;而facebook也有相似的处理方法,它的表单里常常会有post_form_id和fb_dtsg。
随机串代码完成
我们依照这个思绪,山寨一个crumb的完成,代码如下:
<?php class Crumb { CONST SALT = \"your-secret-salt\"; static $ttl = 7200; static public function challenge($data) { return hash_hmac(\'md5\', $data, self::SALT); } static public function issueCrumb($uid, $action = -1) { $i = ceil(time() / self::$ttl); return substr(self::challenge($i . $action . $uid), -12, 10); } static public function verifyCrumb($uid, $crumb, $action = -1) { $i = ceil(time() / self::$ttl); if(substr(self::challenge($i . $action . $uid), -12, 10) == $crumb || substr(self::challenge(($i - 1) . $action . $uid), -12, 10) == $crumb) return true; return false; } }
代码中的$uid表示用户独一标识,而$ttl表示这个随机串的有效时间。
应用示例
结构表单
在表单中插入一个躲藏的随机串crumb
<input type=\"hidden\" name=\"crumb\" value=\"<?php echo Crumb::issueCrumb($uid)?>\">
处置表单 demo.php
对crumb停止检查
___FCKpd___2
POST[\'crumb\'])) { //依照正常流程处置表单 } else { //crumb校验失败,错误提示流程 }
大家对著名电子商务速递企业顺丰进军电子商务,推出“顺丰E商圈”怎么看? 呵呵,用SWOT分析看看还蛮有意思的,优势、劣势、机会、威胁都蛮明显的。不过从目前的用户反馈看,服务不咋地。
企业网站建设解决方案 营销型网站建设解决方案 行业门户网站建设解决方案 外贸网站解建设决方案 品牌形象网站建设解决方案 购物商城网站建设解决方案 政府网站建设解决方案 手机网站建设解决方案 教育培训网站建设解决方案 珠宝高端奢饰品网站建设解决方案 房地产、地产项目网站建设解决方案 集团、上市企业网站建设解决方案 数码、电子产品网站建设解决方案 美容、化妆品行业网站建设解决方案
10年专业互联网服务经验 重庆最专业网站团队 资深行业分析策划 B2C营销型网站建设领先者 最前沿视觉设计、研发能力 时刻最新技术领先研发能力 具有完备的项目管理 完善的售后服务体系 深厚的网络运营经验
中技互联一直秉承专业、诚信、服务、进取的价值观,坚持优秀的商业道德,以用户最终价值为导向,向用户提供优质产品和优质服务,从而赢得了用户的信赖。始终以不懈的努力、更高的目标来要求自己。
主营业务:网站建设 | 重庆网站建设 | 重庆网站设计 | 重庆网站制作 | 重庆网页设计 | 重庆网站开发
CopyrightZJCOO technology Co., LTD. All Rights Reserved.
渝ICP 备11003429号