国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
3.5KB

  1. <?php
  2. /**
  3. * 后台登陆
  4. *
  5. * @version $Id: login.php 1 8:48 2010年7月13日Z tianya $
  6. * @package DedeCMS.Administrator
  7. * @copyright Copyright (c) 2007 - 2020, DesDev, Inc.
  8. * @license http://help.dedecms.com/usersguide/license.html
  9. * @link http://www.dedecms.com
  10. */
  11. require_once(dirname(__FILE__).'/../include/common.inc.php');
  12. require_once(DEDEINC.'/userlogin.class.php');
  13. if(empty($dopost)) $dopost = '';
  14. //检测安装目录安全性
  15. if( is_dir(dirname(__FILE__).'/../install') )
  16. {
  17. if(!file_exists(dirname(__FILE__).'/../install/install_lock.txt') )
  18. {
  19. $fp = fopen(dirname(__FILE__).'/../install/install_lock.txt', 'w') or die('安装目录无写入权限,无法进行写入锁定文件,请安装完毕删除安装目录!');
  20. fwrite($fp,'ok');
  21. fclose($fp);
  22. }
  23. //为了防止未知安全性问题,强制禁用安装程序的文件
  24. if( file_exists("../install/index.php") ) {
  25. @rename("../install/index.php", "../install/index.php.bak");
  26. }
  27. if( file_exists("../install/module-install.php") ) {
  28. @rename("../install/module-install.php", "../install/module-install.php.bak");
  29. }
  30. $fileindex = "../install/index.html";
  31. if( !file_exists($fileindex) ) {
  32. $fp = @fopen($fileindex,'w');
  33. fwrite($fp,'dir');
  34. fclose($fp);
  35. }
  36. }
  37. //更新服务器
  38. require_once (DEDEDATA.'/admin/config_update.php');
  39. if ($dopost=='showad')
  40. {
  41. include('templets/login_ad.htm');
  42. exit;
  43. }
  44. //检测后台目录是否更名
  45. $cururl = GetCurUrl();
  46. if(preg_match('/dede\/login/i',$cururl))
  47. {
  48. $redmsg = '<div class=\'safe-tips\'>您的管理目录的名称中包含默认名称dede,建议在FTP里把它修改为其它名称,那样会更安全!</div>';
  49. }
  50. else
  51. {
  52. $redmsg = '';
  53. }
  54. //登录检测
  55. $admindirs = explode('/',str_replace("\\",'/',dirname(__FILE__)));
  56. $admindir = $admindirs[count($admindirs)-1];
  57. if($dopost=='login')
  58. {
  59. $validate = empty($validate) ? '' : strtolower(trim($validate));
  60. $svali = strtolower(GetCkVdValue());
  61. if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){
  62. ResetVdValue();
  63. ShowMsg('验证码不正确!','login.php',0,1000);
  64. exit;
  65. } else {
  66. $cuserLogin = new userLogin($admindir);
  67. if(!empty($userid) && !empty($pwd))
  68. {
  69. $res = $cuserLogin->checkUser($userid,$pwd);
  70. //success
  71. if($res==1)
  72. {
  73. $cuserLogin->keepUser();
  74. if(!empty($gotopage))
  75. {
  76. ShowMsg('成功登录,正在转向管理管理主页!',$gotopage);
  77. exit();
  78. }
  79. else
  80. {
  81. ShowMsg('成功登录,正在转向管理管理主页!',"index.php");
  82. exit();
  83. }
  84. }
  85. //error
  86. else if($res==-1)
  87. {
  88. ResetVdValue();
  89. ShowMsg('你的用户名不存在!','login.php',0,1000);
  90. exit;
  91. }
  92. else
  93. {
  94. ResetVdValue();
  95. ShowMsg('你的密码错误!','login.php',0,1000);
  96. exit;
  97. }
  98. }
  99. //password empty
  100. else
  101. {
  102. ResetVdValue();
  103. ShowMsg('用户和密码没填写完整!','login.php',0,1000);
  104. exit;
  105. }
  106. }
  107. }
  108. include('templets/login.htm');