Posted in PHP onJuly 29, 2008
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
php include的妙用,实现路径加密
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@