include的妙用,实现路径加密

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

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.加解密函数就由自己提供了

总结:

用这种方法比较繁琐,只能隐藏后台脚本的路径,前端的脚本路径仍然可以在源文件中看得到(baseref)

在地址栏上看到的地址都是index.php?xxxxxxxx

还有更好的方法,就是利用Apache的Url转发的功能,方法已经实现,有时间再贴上来

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航