include的妙用,实现路径加密
发表于:2007-07-01来源:作者:点击数:
标签:
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传递过来的
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转发的功能,方法已经实现,有时间再贴上来
原文转自:http://www.ltesting.net