火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 8404|回复: 4

Joomla 登录及发贴 "Invalid Token" 解决办法

[复制链接]
发表于 2009-8-26 18:57:29 | 显示全部楼层 |阅读模式
其实这个东东呀,直接用火车头写正确了登录随机值就可以了,但是说,他的token的name属性写在后面去了,所以这种登录随机值不好获取,那么我们就可以这样做,取消全局验证Token的功能!

这样的话就可以打开 \libraries\joomla\environment\request.php 这个文件,从435行左右开始修改,其实就是将大概在 447 行左右的 return false; 改为 return true; ,就是说不管这个token的值正确与否,都返回true即可!
  1.         function checkToken( $method = 'post' )
  2.         {
  3.                 $token        = JUtility::getToken();
  4.                 if(!JRequest::getVar( $token, '', $method, 'alnum' )) {
  5.                         $session = JFactory::getSession();
  6.                         if($session->isNew()) {
  7.                                 //Redirect to login screen
  8.                                 global $mainframe;
  9.                                 $return = JRoute::_('index.php');
  10. ;                                $mainframe->redirect($return, JText::_('SESSION_EXPIRED'));
  11.                                 $mainframe->close();
  12.                         } else {
  13.                                 return false;
  14.                         }
  15.                 } else {
  16.                         return true;
  17.                 }
  18.         }
复制代码
改为
  1.         function checkToken( $method = 'post' )
  2.         {
  3.                 $token        = JUtility::getToken();
  4.                 if(!JRequest::getVar( $token, '', $method, 'alnum' )) {
  5.                         $session = JFactory::getSession();
  6.                         if($session->isNew()) {
  7.                                 //Redirect to login screen
  8.                                 global $mainframe;
  9.                                 $return = JRoute::_('index.php');
  10. ;                                $mainframe->redirect($return, JText::_('SESSION_EXPIRED'));
  11.                                 $mainframe->close();
  12.                         } else {
  13.                                 return true;
  14.                         }
  15.                 } else {
  16.                         return true;
  17.                 }
  18.         }
复制代码
这种修改,一般来说没有什么风险,但是如果有风险,嘿嘿,就只能认了!
 楼主| 发表于 2009-8-26 18:57:50 | 显示全部楼层

安全一点的修改方法

\administrator\components\com_content\controller.php
将这个文件里面的所有
  1. JRequest::checkToken() or jexit( 'Invalid Token' );
复制代码
替换成
  1. //JRequest::checkToken() or jexit( 'Invalid Token' );
复制代码

这样只是删除掉发布文章这块的token值验证,好了,完了,最方便的方法还是写发布接口,嘿嘿,一般人我不告诉他!
发表于 2009-8-26 19:38:33 | 显示全部楼层
{:4_180:}
发表于 2009-8-27 19:03:37 | 显示全部楼层
{:4_180:}我很支持你 孤魂
发表于 2009-8-28 12:25:27 | 显示全部楼层
谢谢了,回去试一下!!!!!!!!!!!!!!!!!!1
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2024-11-15 06:48

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表