最近在做正规站群。需要对某些优良信息进行定向采集。于是用到了火车头采集器。用的是v7.8版本的。
想无人工值守来获取这些优良的信息,于是就考虑到了织梦系统永久登录的问题。因为织梦的会话机制是写到session里,session里只有24分钟的保持时间。
过了这24分钟就得重新登录,这对火车头来说是难以接受的事情。需要管理员不停的登录,一个任务已登录也是很费时间的。
要想做到永久登录该怎么解决呢?
1.不要从火车头采集器里做文章,从织梦源程序上做文章。
实现步骤如下:
- 取消DEDE未登陆时出现的登陆提示
- 自动登陆DEDE
修改一处DEDE的代码,为DEDE程序管理员目录的config.PHP,默认路径为dede/config.php,代码如下:
//检验用户登录状态 $cuserLogin = new userLogin(); if($cuserLogin->getUserID()==-1) { header("location:login.php?gotopage=".urlencode($dedeNowurl)); exit(); }
这段代码的作用是如果未检测到用户的登陆信息,就引导用户进入登陆过程,修改如下:
//检验用户登录状态 $cuserLogin = new userLogin(); if($cuserLogin->getUserID()==-1) { if($my_u != ''){ $res = $cuserLogin->checkUser($my_u, $my_p); if($res==1) $cuserLogin->keepUser(); } if($cuserLogin->getUserID()==-1) { header("location:login.php?gotopage=".urlencode($dedeNowurl)); exit(); } }
这段代码的作用是在检测到用户未登陆时,尝试使用页面传递过来的参数进行登陆,如果登陆成功,则保存用户的信息并进行其它操作;如果登陆失败,就引导用户进入登陆页面。
修改发布模块,只需要在发布模块中添加登陆的用户名和密码信息。在获取列表和发布文章的链接里加上用户名和密码的参数。
这个问题我整整测试了三天,今天总算解决了,特此记录一下。