国内流行的内容管理系统(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.

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