include的妙用,实现路径加密
1.中转程序include.inc
<?php include_once 'include/Base.php'; $path = ''; $url = isBase::decrypt(urlDecode($_SERVER['QUERY_STRING'])); parse_str($url); //获取通过url地址GET传递过来的变量 if (!emptyempty($_POST['path'])) { //获取POST传递过来的变量 $path = $_POST['path']; $path = isBase::decrypt(urlDecode($path)); } //解析真实路径 if (emptyempty($path)) { //header("Location: login.php"); exit; } if (!preg_match("/(^http:/)|([?|&|=])/", $path)) { //跳转到实际执行文件的路径 chdir(dirname($path)); include_once basename($path); exit; } ?>
index.php与include.inc同目录
<?php 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.
教程地址:http://www.phprm.com/develop/fs1296.html
欢迎转载!但请带上文章地址^^