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

yipeiwu_com6年前PHP代码库
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超快高效率统计大文件行数

用php获取文件行数,网上给出的答案通常是使用file这样一次性读取,这样不适用在大文件。通常大文件大家用while来循环的逐行统计,这样的效率太慢 最快的方法是多行统计,每次读取N个字...

php约瑟夫问题解决关于处死犯人的算法

本文实例讲述了php约瑟夫问题解决关于处死犯人的算法。分享给大家供大家参考。具体分析如下: 古代某法官要判决IV个犯人的死刑,他有一条荒唐的法律将犯人站成一个圆圈,从第s个人开始数起,每...

php中\r \r\n \t的区别示例介绍

\n 软回车: 在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。 在Linux、unix 中只表示换行,但不会回到下一行的开始位置。 \r...

php查找指定目录下指定大小文件的方法

本文实例讲述了php查找指定目录下指定大小文件的方法。分享给大家供大家参考。具体实现方法如下: php查找文件大小的原理是遍历目录然后再利用filesize来计算文件大小,然后我们再加一...

php5与php7的区别点总结

php5与php7的区别是什么?下面本篇文章就来给大家对比一下php5与php7,介绍php5与php7之间的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 php...