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

74 lines
2.3KB

  1. <?php
  2. /**
  3. * @version $Id: edit.inc.php 1 10:06 2010-11-10 tianya $
  4. * @package DedeCMS.Site
  5. * @copyright Copyright (c) 2007 - 2020, DesDev, Inc.
  6. * @license http://help.dedecms.com/usersguide/license.html
  7. * @link http://www.dedecms.com
  8. */
  9. if(!defined('DEDEINC')) exit('Request Error!');
  10. if(!empty($_COOKIE['GUEST_BOOK_POS'])) $GUEST_BOOK_POS = $_COOKIE['GUEST_BOOK_POS'];
  11. else $GUEST_BOOK_POS = "guestbook.php";
  12. $id = intval($id);
  13. if(empty($job)) $job='view';
  14. if($job=='del' && $g_isadmin)
  15. {
  16. $dsql->ExecuteNoneQuery(" DELETE FROM `#@__guestbook` WHERE id='$id' ");
  17. ShowMsg("成功删除一条留言!", $GUEST_BOOK_POS);
  18. exit();
  19. }
  20. else if($job=='check' && $g_isadmin)
  21. {
  22. $dsql->ExecuteNoneQuery(" UPDATE `#@__guestbook` SET ischeck=1 WHERE id='$id' ");
  23. ShowMsg("成功审核一条留言!", $GUEST_BOOK_POS);
  24. exit();
  25. }
  26. else if($job=='editok')
  27. {
  28. $remsg = trim($remsg);
  29. if($remsg!='')
  30. {
  31. //管理员回复不过滤HTML
  32. if($g_isadmin)
  33. {
  34. $msg = "<div class=\\'rebox\\'>".$msg."</div>\n".$remsg;
  35. //$remsg <br><font color=red>管理员回复:</font>
  36. }
  37. else
  38. {
  39. $row = $dsql->GetOne("SELECT msg From `#@__guestbook` WHERE id='$id' ");
  40. $oldmsg = "<div class=\\'rebox\\'>".addslashes($row['msg'])."</div>\n";
  41. $remsg = trimMsg(cn_substrR($remsg, 1024), 1);
  42. $msg = $oldmsg.$remsg;
  43. }
  44. } else {
  45. if(!$g_isadmin)
  46. {
  47. ShowMsg("无权提交修改当前留言!", $GUEST_BOOK_POS);
  48. exit();
  49. }
  50. }
  51. $msg = HtmlReplace($msg, -1);
  52. /*
  53. 漏洞描述:dedecms留言板注入漏洞。
  54. */
  55. $msg = addslashes($msg);
  56. $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");
  57. ShowMsg("成功更改或回复一条留言!", $GUEST_BOOK_POS);
  58. exit();
  59. }
  60. if($g_isadmin)
  61. {
  62. $row = $dsql->GetOne("SELECT * FROM `#@__guestbook` WHERE id='$id'");
  63. require_once(DEDETEMPLATE.'/plus/guestbook-admin.htm');
  64. }
  65. else
  66. {
  67. $row = $dsql->GetOne("SELECT id,title FROM `#@__guestbook` WHERE id='$id'");
  68. require_once(DEDETEMPLATE.'/plus/guestbook-user.htm');
  69. }