您现在的位置是:首页 > 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缓存清理与性能优化的方法和技巧
在Discuz论坛的运维中,缓存清理和性能优化是我们经常会遇到的问题。Discuz作为一个功能强大的论坛系统,内部使用了大量的缓存机制来提高访问速度和响应性能。
Discuz论坛搭建步骤方法教程
其实我想说的是这个网站集成环境搭建的方式有很多,可以直接在windows上下载一个xmapp等集成开发环境,效果也是一样的,当然这都是搭建本地论坛的环境。
Discuz!X插件开发教程
Discuz按照如下的规范对程序和模板进行命名,请在设计插件时尽量遵循此命名规范:可以直接通过浏览器访问的普通程序文件,以 .php 后缀命名。
如何一键安装Discuz Q
Discuz Q 内测版终于来了,看过官方手册的小伙伴应该都知道,这次Discuz Q的安装方式真特别,前所未见!首先,我们需要申请Discuz Q 内测权限注册腾讯云帐号并实名认证
相关源码
-
(PC+手机)帝国cms7.5漫画图片连载网站源码免费下载本模板基于帝国CMS7.5深度开发,为漫画阅读类网站打造。整体设计风格贴合漫画行业特性,界面布局充分考虑漫画作品的展示需求,支持多种漫画阅读模式。模板采用响应式设计,能够自动适配PC端和移动端设备,为读者提供流畅的阅读体验。查看源码 -
(PC+WAP)盆栽绿植观赏植物花卉租赁免费pbootcms网站模板为花卉盆栽租赁、园林绿化企业打造的PbootCMS网站模板,采用较新内核开发,PC与移动端数据实时同步。通过清新自然的视觉设计,精准展现植物养护、花卉展示等业务场景,帮助用户快速建立专业级行业网站。查看源码 -
(自适应响应式)英文外贸电子产品手机配件网站pbootcms模板专业级外贸网站模板基于PbootCMS内核开发,为电子产品跨境贸易企业设计。采用响应式布局技术,确保电脑、平板、手机等设备访问时自动适配显示效果。数据实时同步管理,一次编辑全平台生效。查看源码 -
帝国CMS中小学生知识点试题练习题考试源码下载基于帝国CMS后台管理系统,支持在线修改联系信息、网站参数等配置,操作流程简洁明了。专注于中小学教育领域,集成知识点总结、试题练习、考试资讯等学习资源,为师生提供全面的在线学习支持与服务。查看源码 -
(自适应响应式)家电维修清晰服务网站pbootcms模板免费下载本模板基于PbootCMS内核开发,为维修服务类企业打造,特别适合家电维修、设备维护等行业使用。通过简洁直观的界面设计,帮助企业快速搭建专业级服务平台,实现线上业务高效管理。查看源码 -
帝国cms淘宝客京东联盟网站整站源码下载本模板基于帝国CMS内核深度开发,为淘宝客行业量身定制。随着腾讯微信与淘宝生态的互联互通,淘宝客链接现可在微信、QQ等平台直接分享,为推广带来更多便利。模板特别优化了店铺推广功能,有效避免商品下架导致的链接失效问题,同时支持京东联盟等多平台商品推广。查看源码
| 分享笔记 (共有 篇笔记) |
