[渗透测试]PHP路径目录获取方法汇总

2019年11月14日00:01:18 发表评论

[渗透测试]PHP路径目录获取方法汇总

PHP路径获取:

  1. 获取域名或主机地址
  2. echo $_SERVER['HTTP_HOST']."<br>";
  3. 获取网页地址
  4. echo $_SERVER['PHP_SELF'];
  5. 获取网址参数
  6. echo $_SERVER["QUERY_STRING"];
  7. 获取用户代理
  8. echo $_SERVER['HTTP_REFERER'];
  9. 获取完整的url
  10. echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  11. echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
  12. 包含端口号的完整url
  13. echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
  14. 只取路径
  15. echo 'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."<br>"; 
  16. 应用案例,根据浏览器类型,自动切换
  17. vendor('Func.Func');
  18. if (!Func::isMobile()) { // 跳转到手机端
  19.     if ($_SERVER['QUERY_STRING']) {
  20.         header("location: /index.php".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']);
  21.     } else {
  22.         header("location: /index.php".$_SERVER['PHP_SELF']);
  23.     }
  24. }

PHP路径或目录信息获取:

  1. //魔术变量,获取当前文件的绝对路径  
  2. echo "__FILE__:  ========>  ".__FILE__;
  3. echo '<br/>';
  4. //魔术变量,获取当前脚本的目录  
  5. echo "__DIR__:  ========>  ".__DIR__;
  6. echo '<br/>';
  7. //dirname返回路径的目录部分,dirname(__FILE__)相当于__DIR__  
  8. echo "dirname(__FILE__):  ========>  ".dirname(__FILE__);
  9. echo '<br/>';
  10. //$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的结果一般相同,他们都是获取当前脚本的文件名  
  11. //只有当php以cgi方式运行时有区别,但是现在几乎找不到以cgi方式运行php了  
  12. echo '$_SERVER["PHP_SELF"]:  ========>  '.$_SERVER['PHP_SELF'];
  13. echo '<br/>';
  14. echo '$_SERVER["SCRIPT_NAME"]:  ========>  '.$_SERVER['SCRIPT_NAME'];
  15. echo '<br/>';
  16. //当前执行脚本的绝对路径。记住,在CLI方式运行php是获取不到的  
  17. echo '$_SERVER["SCRIPT_FILENAME"]:  ========>  '.$_SERVER['SCRIPT_FILENAME'];
  18. echo '<br/>';
  19. //当前运行脚本所在的文档根目录。在服务器配置文件中定义。  
  20. echo '$_SERVER["DOCUMENT_ROOT"]:  ========>  '.$_SERVER['DOCUMENT_ROOT'];
  21. echo '<br>';
  22. //getcwd()返回当前工作目录  
  23. echo "getcwd():  ========>  ".getcwd();
  24. echo '<br>';

发表评论

后发表评论