当前位置: 首页 > article >正文

-PHP 应用模版引用Smarty 渲染MVC 模型数据联动RCE 安全

# 新闻列表
1 、数据库创建新闻存储
2 、代码连接数据库读取
3 、页面进行自定义显示
# 自写模版引用
1 、页面显示样式编排
2 、显示数据插入页面
3 、引用模版调用触发
很容易触发代码执行漏洞
#Smarty 模版引用(第三方模板)
下载: https://github.com/smarty-php/smarty/releases
使用:
1 、创建一个文件夹,命名为 smarty-demo
2 、下载 Smarty 对应版本并解压缩到该文件夹中。
3 、创建一个 PHP 文件,命名为 index.php ,并在文件中添加以下代码:
<?php
// 引入 Smarty 类文件
require('smarty-demo/libs/Smarty.class.php');
// 创建 Smarty 实例
$smarty = new Smarty;
// 设置 Smarty 相关属性
$smarty->template_dir = 'smarty-demo/templates/';
$smarty->compile_dir = 'smarty-demo/templates_c/';
$smarty->cache_dir = 'smarty-demo/cache/';
$smarty->config_dir = 'smarty-demo/configs/';
// 赋值变量到模板中
$smarty->assign('title', ' 欢迎使用 Smarty');
// 显示模板
$smarty->display('index.tpl');
?>
4 、创建一个名为 index.tpl 的模板文件,并将以下代码复制到上述点定义文件夹中
<!DOCTYPE html>
<html>
<head>
<title>{$title}</title>
</head>
<body>
<h1>{$title}</h1>
<p> 这是一个使用 Smarty 的例子。 </p>

http://www.kler.cn/a/604574.html

相关文章:

  • 2025-03-24 学习记录--C/C++-PTA 习题7-7 字符串替换
  • conda环境下解决gitk乱码模糊
  • Flutter项目之table页面实现
  • linux/android 如何获取当前系统启动时长
  • 000-JMeter简介
  • docker ssh远程连接
  • Python+Pytorch掌纹训练识别
  • STM32八股【1】-----启动流程和startup文件理解
  • [新闻.AI]国产大模型新突破:阿里开源 Qwen2.5-VL-32B 与 DeepSeek 升级 V3 模型
  • Mamba 模型:深度学习序列建模的新突破​
  • 3. 轴指令(omron 机器自动化控制器)——>MC_CamIn
  • 架构设计之自定义延迟双删缓存注解(下)
  • 记录firefly的3566-sdk的下载及解压更新
  • 大模型知识补充四
  • 【AIDevops】驱动无界面自动化运维与分布式脚本系统,初探运维革命之路
  • 蓝桥杯1463:货物摆放问题详解——数学思维与代码优化
  • Vite 创建 Vue3 项目指定 Package name 问题:Invalid package. json name
  • docker使用命令笔记
  • 基于AWS Endpoint Security的合规性保障
  • 【MySQL篇】索引特性,索引的工作原理以及索引的创建与管理