您现在的位置是:首页 > 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的缓存体系
相关教程
图文教程
ubuntu下搭建Discuz的步骤方法
环境:我用桥接方式创建了一个ubuntu16的虚拟机,ip为192.168.1.11)然后解压到某个目录,例如在根目录建立个新目录mkdir discuz,然后解压到此目录中unzipDiscuz_X3.2_SC_UTF8.zip -d discuz/
Discuz和jQuery冲突怎么办
Common.js是官方自带的,我没改过它,所以不可能出错,所以问题就应该是两者冲突了。导致的结果我也发现了,前台的DIY功能不能用了。
ThinkPHP和Discuz怎么整合
以下是Discuz6的整合方法,在模板中新增登陆模板,路径为Tpl/default/Public/Login.html这里把官方教程中的模板贴出来,省的再去找了:
discuz常用函数调用方法示例
调用主题的查看次数discuz帖子正文下方有一组自动推荐的相关帖子,其调用代码为调用会员头像!代码有三种格式:内容页TAG代码$post[tags]
相关源码
-
(自适应响应式)工业机床工程农业机械设备网站源码下载框架适用于工程机械、机床设备等工业领域。通过模块调整可快速转型为农业机械、物流设备展示系统。预留7种工业产品展示模板。查看源码 -
(自适应)酒店民宿客房旅馆pbootcms模板下载基于PbootCMS内核开发的酒店民宿行业专用网站模板,专注于为住宿服务企业提供专业高效的在线展示平台。该模板采用响应式设计结构,确保在不同终端设备上均能呈现优质浏览体验。查看源码 -
(PC+WAP)蓝色电缆桥架五金钢结构机械PbootCMS模板下载采用PC与WAP双端适配设计,满足桌面设备和移动端访问需求。专注服务于电缆桥架、钢结构及五金机械制造领域,通过结构化布局展示产品特性与技术参数,后台数据一体化管理提升内容维护效率。查看源码 -
(自适应)电梯扶梯升降梯行业pbootcms企业网站模板(自适应手机版)响应式电梯扶梯类pbootcms模板 电梯生产企业绿色企业网站源码下载PbootCMS内核开发的网站模板,该模板适用于电梯、扶梯类等企业,查看源码 -
(PC+WAP)历史复古古典古籍文章资讯类pbootcms模板下载本模板基于PbootCMS系统开发,为古籍研究、历史文献类网站设计,特别适合展示古典书籍、历史档案等文化内容。采用复古风格设计,同时具备现代化响应式布局,确保在PC和移动设备上都能呈现优雅的阅读体验。查看源码 -
帝国cms7.5模板生活常识美食女性时尚综合资讯门户源码本模板为帝国cms7.5生活资讯类网站设计,以天奇生活网为参考原型,涵盖生活常识、美食烹饪、女性时尚等多元化内容板块。采用响应式布局设计,适配各种终端设备,为访客提供优质的阅读体验。模板结构清晰合理,内容展示层次分明,符合生活类网站的用户需求。查看源码
| 分享笔记 (共有 篇笔记) |
