dircms网站后台密码忘记了怎么办

  1. AutoCMS
  2. /
  3. 建站资讯
  4. /
  5. 网站
logo
元岚琦

网站  2026-08-15 21:00:02   536

dircms网站后台密码忘记了怎么办

说实话,dircms这个系统本身用的人不算特别多,但真碰上了后台密码忘记这回事,网上的教程翻来覆去就那么几篇,写得不痛不痒。我自己折腾过两回,一次是帮朋友弄,一次是自己手贱改了密码转头就忘。把实际能用的办法整理一下,按操作难度从低到高排。

先搞清楚一件事,dircms的密码是存在数据库里的,用的是MD5加盐的方式。所以你不可能像破解普通MD5那样直接反查出来,但换个思路,直接把数据库里的密码改掉就行。

第一种办法,用phpMyAdmin改数据库,这是最稳妥的。你需要能进服务器的数据库管理后台,一般虚拟主机都带phpMyAdmin入口,宝塔面板也自带。登录进去以后找到dircms对应的数据库,展开表列表,找名字里带admin或者user的表,通常是dircms_admin这样的名字。点开以后能看到一行管理员记录,里面有个password字段,后面跟着一长串32位的字符。你把这个值改成`e10adc3949ba59abbe56e057f20f883e`,这是123456的MD5值。dircms登录的时候会把输入的密码做相同加密后比对,但系统里存的盐值我们没动,所以光改这个还不够,还需要把sale字段也处理一下。实际上dircms用的加盐方式是密码加固定盐再做MD5,从1.0到现在的版本基本都是`salt`字段的值加上密码拼起来再MD5。所以正确做法是把salt字段改成空字符串,把password字段改成`e10adc3949ba59abbe56e057f20f883e`,然后保存,退出后用admin账号加密码123456就能登录了。

第二种方法,写一个PHP重置脚本传到网站根目录。这个方法适合不方便进数据库的情况,比如数据库账号密码不知道。新建一个PHP文件,里面写上连接数据库的代码,dircms的数据库配置在根目录的config.php或者include/db.php里,你打开这个文件能看到数据库名、账号、密码。把那几个变量读取出来,然后更新管理员表里的密码字段。脚本运行一次后马上删掉,别留在服务器上。这个办法稍微需要一点代码基础,但照着写一段十几行的PHP代码就能搞定。

第三种方法,利用dircms自带的找回功能。不过要说明白,dircms后台登录页确实有个找回密码的入口,但这个功能依赖服务器邮箱发信,如果之前没配置好邮件服务,点了也白点。而且现在很多主机商把25端口封了,基本走不通。所以这办法碰运气,能用最好,不能用也别浪费时间,直接跳到上面两种方法。

还有一种野路子,针对dircms老版本。如果你网站是很多年前装的,版本比较老,那后台登录文件的逻辑可能写得不严谨,直接用SQL注入的方式绕过去。在登录框的用户名里输入`admin'' or ''1''=''1`,密码随便填,有的老版本会直接放行。但这招只对老版本有效,新版本早就补上这个漏洞了。现在还能捡漏的概率很低,不太推荐。

改完密码以后,去后台把系统设置的缓存更新一下,不然前台可能还是旧的session状态。另外建议顺手把后台管理员账号的邮箱绑定一下,下次再忘记密码至少能走邮件找回流程。

说点实在的,dircms官方这些年更新不勤快,资料也少,真要遇到问题最好自己动动手。平时做好数据库备份比什么都重要,真忘记密码了直接用备份恢复也行,无非就是丢失最近几天的数据。我没法给你保证dircms每个版本的表结构完全一样,但只要找到数据库,思路就是绕开密码校验,直接改密码数据。胆子大一点,按我说的步骤操作,大部分情况都能解决。