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 中间加一个隐藏表单 4.修改前端Html页面的路径 baseref=/test 5.加解密函数就由自己提供了 总结: 用这种方法比较繁琐,只能隐藏后台脚本的路径,前端的脚本路径仍然可以在源文件中看得到(baseref) 在地址栏上看到的地址都是index.php?xxxxxxxx 还有更好的方法,就是利用Apache的Url转发的功能,方法已经实现,有时间再贴上来 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 01:30 , Processed in 0.094021 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.