您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz包含目录和变量
涵雁2025-07-13Discuz教程已有人查阅
导读1.目录的包含:2.$_COOKIE,$_POST,$_GET数组变量一起取得补充:还是服务器字符过滤等方法//销毁以下变量
1.目录的包含:
.表示当前目录
..表示上级目录
用常量DISCUZ_ROOT确定根目录
.表示当前目录
..表示上级目录
用常量DISCUZ_ROOT确定根目录
define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));
DISCUZ_ROOT.'./include/forum.func.php'; //取到文件绝对路径来require_once();
2.$_COOKIE,$_POST,$_GET数组变量一起取得
/*
确定$_GET方式接纳链接传递的值
foreach($_GET as $_key=>$_value)
{
$$_key=$_value; //相当于$action赋值,因为$_key为action,$$_key即$action,$_value为action的传入值如s1,s2...
}
*/
foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
foreach($$_request as $_key => $_value) {
$_key{0} != '_' && $$_key = daddslashes($_value); //daddslashes()过滤掉',防止注入
}
}
function daddslashes($string, $force = 0) {
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = daddslashes($val, $force);
}
} else {
$string = addslashes($string);
}
}
return $string;
}
========补充:还是服务器字符过滤等方法======
<?php
//销毁以下变量
unset($_ENV,$HTTP_ENV_VARS,$_REQUEST,$HTTP_POST_VARS,$HTTP_GET_VARS,$HTTP_POST_FILES,$HTTP_COOKIE_VARS);
$Is_Gmqgg=get_magic_quotes_gpc();
if(!$Is_Gmqgg)
{
//$_POST 经由 HTTP POST 方法提交至脚本的变量。
Add_S($_POST);
//$_GET 经由 URL 请求提交至脚本的变量。
Add_S($_GET);
//$_FILES 通过 HTTP POST 方法传递的已上传文件项目组成的数组。
Add_S($_FILES);
//$_COOKIE 经由 HTTP Cookies 方法提交至脚本的变量。
Add_S($_COOKIE);}
if(!ini_get('register_globals') || !$Is_Gmqgg)
{
@extract($_POST,EXTR_SKIP);
@extract($_GET,EXTR_SKIP);
@extract($_COOKIE,EXTR_SKIP);
@extract($_FILES,EXTR_SKIP);
}
//检查$_POST和$_GET数组,如果其key值不是_开头且$$key变量没被设置过,设置相应$$_key值为$_POST[$_key]
foreach($_POST as $_key=>$_value){
!ereg("^_",$_key) && !isset($$_key) && $$_key=$_POST[$_key];
}
foreach($_GET as $_key=>$_value){
!ereg("^_",$_key) && !isset($$_key) && $$_key=$_GET[$_key];
}
//递归执行,使得每个数组中的字符串都是为了数据库查询语句等的需要在某些特殊字符前加上了反斜线的字符串
function Add_S(&$array){
foreach($array as $key=>$value){
if(!is_array($value)){
//addslashes -- 使用反斜线引用字符串,返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加
//上了反斜线。这些字符是单引号(')、双引号(")、反斜线()与 NUL(NULL 字符)。 一个使用
//addslashes() 的例子是当你要往数据库中输入数据时。例如,将名字 O'reilly 插入到数据库中,这就需要对
//其进行转义。大多数据库使用作为转义符:O'reilly。这样可以将数据放入数据库中,而不会插入额外的 。
//当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义。默认情况下,
//PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行
//addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致
//双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。
$array[$key]=addslashes($value);
}else{
Add_S($array[$key]);
}
}
}
?>
本文标签:
很赞哦! ()
下一篇:Discuz的缓存体系
相关教程
图文教程
Discuz和jQuery冲突怎么办
Common.js是官方自带的,我没改过它,所以不可能出错,所以问题就应该是两者冲突了。导致的结果我也发现了,前台的DIY功能不能用了。
Discuz的NT邮件插件机制分析
大约还是去年12月份,当时项目中遇到了一个很棘手的问题,就是管理员(或站长)在后台设置了邮箱信息之后,使用注册邮件发送激活验证码时,总有用户反映不能收到激活信息的邮件。
Discuz积分商城功能使用和运营方法
在Discuz论坛中,积分商城是一个非常有用的功能,它不仅可以激励用户的活跃度,还能为论坛带来额外的收入。那么,如何配置和运营Discuz的积分商城呢?
Discuz代码分析
$_DCACHE['settings']['frameon']-左右分栏模式开关,$gid-版块组id,自己看看吧,大概就是判断是否使用一个静态htm页面的条件,这个由后台是否开启首页缓存时间来决定的
相关源码
-
(自适应)绿色新闻生活百科资讯文章博客类网站pbootcms模板源码本模板基于PbootCMS开发,为生活百科、资讯文章和博客类网站设计。采用清新绿色系风格,提供舒适的阅读体验,同时适配PC和移动设备。适用于生活技巧分享、健康知识传播查看源码 -
(自适应)英文绿色精密模具零件加工五金零件pbootcms外贸网站模板本模板基于PbootCMS开发,为五金零件、精密模具加工等英文外贸企业设计。采用响应式布局,适配各类移动设备,是五金零件企业开展国际贸易的专业展示平台。查看源码 -
帝国cms自适应古诗词古籍名句网站整站带数据基于帝国CMS打造的专业古诗词文化网站模板,专注于古典文学内容的展示与传播。模板设计蕴含传统文化韵味,支持诗词鉴赏、名句赏析、古籍整理等特色功能,为诗词爱好者提供优质的在线阅读体验。查看源码 -
(响应式)蓝色智能摄像头安防防盗电子设备免费pbootcms源码下载这是一款针对智能安防行业特点设计的网站模板,采用蓝色系配色方案,体现科技感和安全性。模板包含产品展示、解决方案、技术支持和新闻中心等核心模块,能够全面展示智能安防设备的技术特点和行业应用。查看源码 -
(PC+WAP)家居装饰家装建材营销型网站pbootcms模板下载本模板基于PbootCMS开发,主要服务于家居装饰、建材及相关行业。采用现代化设计风格,同时适配PC和移动设备访问。模板结构清晰,突出展示家装案例和建材产品,帮助企业在线上建立专业形象,有效展示产品与服务优势。查看源码 -
(自适应)餐具英文外贸生活用品带下载功能网站模板免费下载为餐具及生活用品外贸企业打造的响应式网站模板,基于PbootCMS内核开发。突出产品展示与多语言支持特性,通过自适应设计确保更好客户在手机、平板、电脑等设备上获得一致浏览体验。查看源码
| 分享笔记 (共有 篇笔记) |
