php使用include加密路径的方法介绍

发布时间:2020-01-21编辑:脚本学堂
本文介绍的这种方法,只能隐藏后台脚本的路径,前端的脚本路径仍然可以在源文件中看得到(baseref)。在地址栏上看到的地址都是形如index.php?xxxxxxxx这样的,是否有种似曾相识燕归来的感觉哦。

本文介绍的这种方法,只能隐藏后台脚本的路径,前端的脚本路径仍然可以在源文件中看得到(baseref)。
在地址栏上看到的地址都是形如index.php?xxxxxxxx这样的,是否有种似曾相识燕归来的感觉哦。

1、中转程序include.inc
 

复制代码 代码如下:
<?
include_once 'include/Base.php';
$path = '';
$url = isBase::decrypt(urlDecode($_SERVER['QUERY_STRING']));
parse_str($url); //获取通过url地址GET传递过来的变量
if(!empty($_POST['path'])){ //获取POST传递过来的变量
$path = $_POST['path'];
$path = isBase::decrypt(urlDecode($path));
}
//解析真实路径
if(empty($path)){
//header("Location: login.php");
exit;
}
if(!preg_match("/(^http:/)|([?|&|=])/",$path)){
//跳转到实际执行文件的路径
chdir(dirname($path));
include_once basename($path);
exit;
}
?>

index.php与include.inc同目录
 

复制代码 代码如下:
<?
include include.inc;
?>

2、修改程序中的链接()
 

复制代码 代码如下:
"index.php?".encrypt("path=/test/test.php&test=123&test2=4321")

3、修改程序中的POST表单
Form都提交到为 index.php
中间加一个隐藏表单 <hidden name=path value="/test/test.php">

4、修改前端Html页面的路径
baseref=/test

5、加解密函数,朋友们自己动手写吧。