Joomla-开源天空



怎样防止CSRF攻击

E-mail

什么是CSRF攻击?

我们举例来说,假如一个用户已经以管理员身份登陆,在未退出系统,且管理页面还打开的状态下,在一个新的浏览器TAB页中访问了一个恶意网站,这个网站的页面有一个图片,图片的连接地址是:

  1. http://some/joomla/site/administrator/index2.php?option=com_users&task=delete...

这个时候就会发出一个请求,而这个请求的身份验证会通过,这个请求会执行,那么可能导致一些非预期的麻烦。

 

Joomla! 怎样来防止CSRF攻击?

在Joomla!中,可以通过一个与用户和系统相关的随机串的验证,来防止CSRF攻击,这个串可以验证请求来自合法的form和合法的session,当然这个验证也并不能完全防止,但是可以处理大部分的问题了。具体方式如下:

 POST方式

你需要在form表单中加入:

<?php echo JHTML::_( 'form.token' ); ?> 

 GET方式

可以在请求中加入:

<?php echo JRoute::_( 'index.php?option=com_example&controller=object1&task=save&'. JUtility::getToken() .'=1' ); ?> 

注意最后的 JUtility:getToken

在提交后的页面中验证代码如下:

  1. JRequest::checkToken( 'get' ) or die( 'Invalid Token' );
  1.  

我们建议安全的浏览行为如下:

  1. Don't browse other sites in the same browser while you are logged into your site.
  2. Log out from your site after you are done.
  3. Don't stay logged into your site while you are not doing anything.
  4. Ensure that the address in the browser bar matches the address of your site.

 

 

 

 

相关文章
Joomla! 1.5 API 中文手册(作者:aivera)
Joomla!扩展制作实例教程-模板展示组件-前台路径设置
Joomla!扩展制作实例教程-模板展示组件-前台最终页面
Joomla!扩展制作实例教程-模板展示组件-前台列表页面
Joomla!扩展制作实例教程-模板展示组件-增加后台上传图片功能
Joomla!扩展制作实例教程-模板展示组件-如何数据表增加一个字段
Joomla!扩展制作实例教程-模板展示组件-整理后台列表页面,增加列表分页功能
Joomla!扩展制作实例教程-模板展示组件-后台增加所见即所得编辑器
Joomla!扩展制作实例教程-模板展示组件-后台记录增加和修改程序
Joomla!扩展制作实例教程-模板展示组件-创建组件框架
 

发表您的文章评论

您的姓名 (昵称)
标题:
评分: 很差一般较好很好
评论:
验证码:
请输入验证码

» » 登录 »   -   -