php include的妙用,实现路径加密


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 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
初次接触php抽象工厂模式(Elgg)
Mar 21 PHP
求PHP数组最大值,最小值的代码
Oct 31 PHP
一个简单的网页密码登陆php代码
Jul 17 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
php从csv文件读取数据并输出到网页的方法
Mar 14 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 PHP
PHP如何将图片文件上传到另外一台服务器上
Aug 26 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 PHP
php5编程中的异常处理详细方法介绍
Jul 29 #PHP
php intval的测试代码发现问题
Jul 27 #PHP
php在线打包程序源码
Jul 27 #PHP
php对gzip文件或者字符串解压实例参考
Jul 25 #PHP
php+mysql写的简单留言本实例代码
Jul 25 #PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 #PHP
PHP4中session登录页面的应用
Jul 25 #PHP
You might like
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
2013/09/22 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
ES6知识点整理之模块化的应用详解
2019/04/15 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Python实现统计文本文件字数的方法
2017/05/05 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
一些.net面试题
2014/10/06 面试题
仓管岗位职责范本
2014/02/08 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
员工担保书范本
2015/09/22 职场文书
Python+Appium新手教程
2021/04/17 Python
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技