DEDE把变量放进session中,结果取值为null的问题

最近在基于织梦CMS(dedecms)做公司网站,可以说改动不少,而其中最令我印象深刻的就是织梦的session。
自己想在前台页面限制一些用户的访问,且后台用户可以访问。必须验证织梦后台用户的登录,于是开始取织梦的session,但是一直没有取出值来,后来才发现原来织梦的session有这样一段代码

1
2
3
4
5
$sessSavePath = DEDEDATA."/sessions/";  
if(is_writeable($sessSavePath) && is_readable($sessSavePath))
{
session_save_path($sessSavePath);
}

$sessSavePath就是织梦session的存放位置,这里有两点需要注意,一是session_start()必须放在这段代码之后,二是$sessSavePath不能是文件的相对路径或者绝对路径,只能是文件的存放路径如:F:\SESSION。
于是便顺利的取出了session值。

Read More

DEDECMS5.5/5.6/5.7列表页调用TAG标签(热门标签)的两种方法

DEDECMS5.5/5.6/5.7列表页调用TAG标签的两种方法:
一、DedeCMSv5.6及其以前版本:
  dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出2种方法。
方法1:
  在列表需要的位置加入下列代码:

1
2
3
4
5
6
7
8
9
10
[field:id runphp=yes]  
$tsql = new DedeSql(false);
$tags = '';
$tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='@me'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "<a href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>";
}
@me=$tags;
[/field:id]

Read More

如何在smarty模板中执行php代码

Smarty模板主要的目的是分离逻辑层和表现层,所以在模板中不应该包含逻辑部分,逻辑层也不应该含有HTML。要在模板中插入逻辑程序的这种做法“非常”不被推荐,在你的case中。
如果你真正的需要在模板中使用脚本程序,smarty也提供了{php}标签,允许programmer在表现层混入php代码(再次提示:这种不利于逻辑层与表现层的分离,违背了程序与结构的分离)。

Read More

如何有效防止DEDE织梦系统被挂木马安全设置(仅供参考)

尊敬的客户,您好!
感谢广大客户对我司工作的信任和支持!
我司在最近的一个多月内陆续发现多起因 DedeCMS 安全漏洞造成网站被上传恶意脚本的事件,入侵者可利用恶意脚本对外发送大量数据包,严重占用CPU资源与服务器带宽,影响极为恶劣。为保证服务稳定,即日起一旦发现网站存在此类恶意脚本,我们将立即暂停该网站的服务直到问题修复。如果您正在使用 DedeCMS,请立即检查是否已经存在恶意脚本,并更新程序到最新版本或应用相关补丁。
迄今为止,我们发现的恶意脚本文件有
plus/ac.php
plus/config_s.php
plus/config_bak.php
plus/diy.php
plus/ii.php
plus/lndex.php
data/cache/t.php
data/cache/x.php
data/config.php
data/cache/config_user.php
data/config_func.php等等

Read More