经过一段时间的调试分析,发现有个函数写的很乱,估计是改版的时候落下了没改,经过一段时间修改调试,终于正常的生成了4级页面,不敢独用,分享给大家。
希望对那些想用114la源码但是因为这个问题想放弃的人有所帮助。
找到管理目录下的modules目录,找到mod_make_html.php文件,
把get_html_4catalog($cid)这个函数替换成下面的代码就可以正常生成4级页面了。
/**
* 生成4级分类 HTML
*
* @param int $cid
* @return string
*/
private static function get_html_4catalog($cid)
{
$timestamp = $_SERVER['REQUEST_TIME'];
$output = '';
$cid = intval($cid);
$dir_tpls_main = mod_config::get_one_config('yl_dirtplmain');
empty($dir_tpls_main) && $dir_tpls_main = 'default';
$path_tpls_main = PATH_TPLS_MAIN . '/' . $dir_tpls_main . '/class';
app_tpl::assign('URL', URL, $path_tpls_main);
$class_list = mod_class::get_class_list();
if ($cid {
return false;
}
/*
* 取得页头
*/
app_tpl::$instance = null;
if (!empty($class_list[$cid]['classname']))
{
$class_name = $class_list[$cid]['classname']; // 2级目录
}
unset($title);
$title = (!empty($class_name)) ? $class_name . '-' . mod_config::get_one_config('yl_sysname') : mod_config::get_one_config('yl_sysname');
app_tpl::assign('title', $title, $path_tpls_main);
// 内页不填写 keywords 和 description 的时候调用系统默认
$class_meta_keyword = empty($class_list[$cid]['keywords']) ? mod_config::get_one_config('yl_metakeyword') : $class_list[$cid]['keywords'];
$class_meta_description = empty($class_list[$cid]['description']) ? mod_config::get_one_config('yl_metadescrip') : $class_list[$cid]['description'];
app_tpl::assign('class_meta_keyword', $class_list[$cid]['keywords'], $path_tpls_main);
app_tpl::assign('class_meta_description', $class_list[$cid]['description'], $path_tpls_main);
// 热门关键字
//app_tpl::assign('search_keyword', self::get_hot_keyword(), $path_tpls_main);
$parent_id = $class_list[$cid]['parentid'];
if (!empty($parent_id))
{
$parent_class_name = $class_list[$parent_id]['classname'];
// 注意自定义路径
$parent_path = $class_list[$parent_id]['path'];
$parent_filepath = (empty($parent_path)) ? URL_HTML . '/catalog/' . $parent_id . '.htm' : URL_HTML . "/{$parent_path}/index.htm";
app_tpl::assign('parent_class_name', "" . $parent_class_name . "", $path_tpls_main);
}
if (!empty($class_name))
{
app_tpl::assign('current_class_name', $class_name, $path_tpls_main);
}
$site_list = array(); //站点列表
$key_list = array(); //分类导航
$query = app_db::query('SELECT * FROM ylmf_class WHERE parentid = ' . $cid . ' ORDER BY displayorder');
while ($info = app_db::fetch_one($query))
{
$result = app_db::select('ylmf_site', '`id`, `name`, `url`, `class`, `displayorder`, `good`, `namecolor`',
"class = '{$info['classid']}' AND starttime = $timestamp) ORDER BY displayorder");
$tmp_site = array();
if (!empty($result))
{
foreach ($result as $site)
{
substr($site['url'], -1) == '/' && $site['url'] = substr($site['url'], 0, -1);
$site['good'] = (empty($site['good'])) ? '' : '√';
if ($site['endtime'] > 0 && $timestamp > $site['endtime'])
{
$site['name'] = 'NULL';
$site['url'] = '#';
}
$site['domain'] = get_domain($site['url']);
$tmp_site[] = $site;
}
}
$info['url'] = '#' . $info['classid'];
$key_list[$info['classname']] = $info;
$site_list[$info['classname']] = $tmp_site;
}
app_tpl::assign('key_list', $key_list, $path_tpls_main);
app_tpl::assign('site_list', $site_list, $path_tpls_main);
unset($rt, $key_list, $site_list);
/*
* 取得主体页尾
*/
app_tpl::$instance->compile_id = mod_config::get_one_config('yl_dirtplmain');
//如果自定义了模版,使用自定义的模版,否则使用默认的 class.tpl 模版
$template = empty($class_list[$cid]['template']) ? 'class.tpl' : $class_list[$cid]['template'];
app_tpl::assign('icp', mod_config::get_one_config('yl_icp'), $path_tpls_main);
app_tpl::assign('icpurl', mod_config::get_one_config('yl_icpurl'), $path_tpls_main);
app_tpl::assign('tongji', mod_config::get_one_config('yl_ipstat'), $path_tpls_main);
$output = app_tpl::fetch($template, $path_tpls_main);
return $output;
}
原文:http://www.cnblogs.com/cnwgy/archive/2012/01/10/2318413.html

要保护应用免受与会话相关的XSS攻击,需采取以下措施:1.设置HttpOnly和Secure标志保护会话cookie。2.对所有用户输入进行输出编码。3.实施内容安全策略(CSP)限制脚本来源。通过这些策略,可以有效防护会话相关的XSS攻击,确保用户数据安全。

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显着提升应用在高并发环境下的效率。

thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceIsiseededeedeedeedeedeedeedto to to avoidperformance andununununununexpectedLogOgouts.3)

在PHP中,可以使用session_name()函数配置会话名称。具体步骤如下:1.使用session_name()函数设置会话名称,例如session_name("my_session")。2.在设置会话名称后,调用session_start()启动会话。配置会话名称可以避免多应用间的会话数据冲突,并增强安全性,但需注意会话名称的唯一性、安全性、长度和设置时机。

会话ID应在登录时、敏感操作前和每30分钟定期重新生成。1.登录时重新生成会话ID可防会话固定攻击。2.敏感操作前重新生成提高安全性。3.定期重新生成降低长期利用风险,但需权衡用户体验。

在PHP中设置会话cookie参数可以通过session_set_cookie_params()函数实现。1)使用该函数设置参数,如过期时间、路径、域名、安全标志等;2)调用session_start()使参数生效;3)根据需求动态调整参数,如用户登录状态;4)注意设置secure和httponly标志以提升安全性。

在PHP中使用会话的主要目的是维护用户在不同页面之间的状态。1)会话通过session_start()函数启动,创建唯一会话ID并存储在用户cookie中。2)会话数据保存在服务器上,允许在不同请求间传递数据,如登录状态和购物车内容。

如何在子域名间共享会话?通过设置通用域名的会话cookie实现。1.在服务器端设置会话cookie的域为.example.com。2.选择合适的会话存储方式,如内存、数据库或分布式缓存。3.通过cookie传递会话ID,服务器根据ID检索和更新会话数据。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!