自己写了一个框架。使用过程中发现app目录外部可以直接访问到。尝试访问thinkphp的application目录,提示没有权限访问。找了很久不知道什么原理,求各位大佬解答。
自己写了一个框架。使用过程中发现app目录外部可以直接访问到。尝试访问thinkphp的application目录,提示没有权限访问。找了很久不知道什么原理,求各位大佬解答。
|- app 框架文件
|- web web目录
|- index.php 入口文件
web服务器把document_root设置为web即可。
说白了,是index.php的作用,这个叫入口文件,里面相对应的有
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 应用入口文件
// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',1);
// 定义应用目录
define('APP_PATH','./Application/');
define ( 'RUNTIME_PATH', './Runtime/' );
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
// 亲^_^ 后面不需要任何代码了 就是如此简单
尝试访问thinkphp的application目录,提示没有权限访问
你说的这个应该是因为你访问的时候没有加具体的文件或者目录里面没有inde.html或者index.php
没必要隐藏application,因为mvc是通过入口文件,路由解析之后,什么文件先什么文件后,最后得到结果。单独访问控制器文件是得不到任何结果的。
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答889 阅读✓ 已解决
1 回答575 阅读✓ 已解决
生成环境下,application不绑定域名不就完了,就好像TP的public目录才是对外的,除这个文件之外的任何目录都不能通过域名访问。