include,require的文件包含是以当前工作目录寻找,也就是把当前文件作为参照.

例如

文件的多层包含问题就会容易出错。

eg:

“smarty_test/system/system.inc.php”;

"smarty_test/smarty/smarty.class.php";

"smarty_test/index.php";

在system.inc.php中有代码:include "../smarty/smarty.class.php";

如果index.php中有用到include "system/system.inc.php";

这时候就会出错,因为include,require是把当前文件桌作为参照。

解决方案思考1:

如果用$_SERVER['PHP_SELF']来代替文件自身路径;

如果在system.inc.php中用$_SERVER['PHP_SELF'];

那么当在index.php中include "system/system.inc.php"时,system.inc.php却显示的是index.php的地址。

所以方案想不通

解决方案2

用__FILE__

如上,文件无论如何被include,__FILE__都显示的是自身文件的地址

php中include,require的文件包含问题,以及$_SERVER['PHP_SELF']和__FILE__的区别相关推荐

  1. 文件包含中过滤了php,文件包含漏洞---php协议

    一.原理 1.概念:在php代码中,总会有一些代码我们会经常用到,这时引入了文件包含函数,可以通过文件包含函数把这些代码文件包含进来,直接使用文件中的代码,这样提高了我们的工作效率. 2.文件包含函数 ...

  2. php 包含js文件,js查找字符串中的字符 PHP文件包含详细讲述

    一.什么才是"远程文件包含漏洞"? 回答是: 涉及到的危险函数:include(),require()和include_once(),require_once() Include: ...

  3. include的头文件中include其他头文件时的路径问题

    问题 由于之前项目做得很少,一直没有注意到这个问题,include一直认为就是直接把include的文件复制过来,并没有去深究里面的原理.但今天做项目时发现如果是直接复制过来,那include的文件里 ...

  4. 文件包含漏洞(LFI、RFI)(require()、include()函数)

    文章目录 一.文件包含漏洞分类 二.文件包含漏洞原理 三.文件包含函数 四.测试是否存在本地文件包含(LFI)漏洞 五.文件包含漏洞实例 "百度杯"CTF比赛 2017 二月场in ...

  5. require php 用不用,PHP中你应该知道的require()文件包含的正确用法

    以前看一些PHP框架源码的时候,很奇怪在文件包含的时候,会用dirname(__FILE__)来拼凑文件路径,不知道这样做有什么好处,后来终于发现了其中的缘由. 我们来看一个简单的例子: 有a,b,c ...

  6. 文件源码读取 php伪协议,include(文件包含漏洞,php伪协议)

    点击tips 查看元素,也并没有有用的信息,联想到题目,include 想起了文件包含漏洞. 构造payload ?file=/../../../../../../flag.php 没有返回东西.看完 ...

  7. C++编程中的头文件包含问题

    一,最好在一个头文件中将系统中所有的头文件包含进来,然后在每个头文件中将这个文件引用进来.如在vs环境下就是stdfax.h文件. 二,在每个头文件中用 #ifndef XXXX #define XX ...

  8. Web安全之文件包含漏洞

    什么是文件包含 程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件.而无需再次编写,这种 文件调用的过程一般被称为文件包含. 例如:include "conn ...

  9. php文件包含绕过,文件包含漏洞(绕过姿势) | nmask's Blog

    谁将烟焚散,散了纵横的牵绊 文件包含漏洞是渗透测试过程中用得比较多的一个漏洞,主要用来绕过waf上传木马文件.今日在逛Tools论坛时,发现了一种新型的文件包含姿势,在此记录分享,并附上一些文件包含漏 ...

  10. 文件包含常见绕过方法

    文件包含原理 开发人员将相同函数写入单独的文件中,需要使用某个函数直接调用此文件,无需再次编写,这种文件调用过程称为文件包含 文件包含漏洞 开发人员为了使代码更灵活,会将被包含的文件设置为变量,用来动 ...

最新文章

  1. docker打包镜像出现python安装包超时的现象
  2. MySQL高级 - 查询缓存 - 配置参数
  3. 物理DG主备库切换时遇到ORA-16139: media recovery required错误
  4. hdu 6899 Xor 数位dp
  5. 书评– Kubernetes Up&Running,作者:Kelsey Hightower
  6. 深入Java核心 Java内存分配原理精讲
  7. 【面向对象】面向对象程序设计测试题1-Java语言的发展与特性测试题
  8. 冒泡排序法:一维数组 (最费内存资源的排序法)
  9. IMP 导入数据报错 OCI-21500 OCI-22275
  10. 【8】黑塞矩阵提取图片关键点
  11. 「python爬虫之路day9」:实战之使用正则表达式爬取抓狂网,古诗文网信息
  12. 表格中复制后出现空格_尝过廉江这个美食后,已经连续3天出现在下午茶名单中!...
  13. flutter插件开发学习之旅(4)-------检测GPS状态,打开GPS和显示经纬度实战
  14. STM32的国产替代,盘点下我知道的国产MCU
  15. python自学视频与excel_小白也能学习的 python pandas excel 处理[视频]
  16. 服务器安装vps系统,服务器安装vps系统
  17. 现货白银分析离不开SLV持仓分析
  18. 关于浏览器输入一个网址后页面经历的过程总结
  19. PHP - 设计模式系列
  20. java计算机毕业设计教材管理源程序+mysql+系统+lw文档+远程调试

热门文章

  1. val text html
  2. 推荐几个顶级的IT技术公众号
  3. 地震预警,生死十秒,我们能做些什么?
  4. R可视化:图片为背景的气泡地图
  5. Linux内核调用SPI平台级驱动_实现OLED的显示功能
  6. angular.js之作用域scope'@','=',''
  7. Thinking in Java Chapter 14
  8. C# Winform关于控件TabControl闪烁的问题
  9. 网易游戏开发工程师笔试题
  10. SQL Server 远程连接出错~~~无法访问服务器