【问题标题】:defined('BASEPATH') OR exit('No direct script access allowed'); if i will not use then how can access directlydefined('BASEPATH') OR exit('不允许直接脚本访问');如果我不会使用,那么如何直接访问
【发布时间】:2018-07-09 14:17:02
【问题描述】:

如前所述,不允许直接访问脚本,但如果我不使用此行,那么我怎样才能获得直接访问权限??

defined('BASEPATH') OR exit('No direct script access allowed');

总的标准是什么??

【问题讨论】:

  • 不允许直接脚本访问,如果您的 BASEPATH 未定义。
  • 好的 - 退后几步,告诉我们到底是什么问题......你的意思是 当 BASEPATH 未定义时,H4Xx0R 的 Jeff 将如何访问文件? ...这个问题不是很清楚。
  • 我很清楚,没有设置环境变量,所以脚本退出了。
  • @delboy1978uk - 不是很难,而是什么实际的问题?
  • @delboy1978uk ...而我怀疑它可能是面向安全的,与文件访问有关(以及文件是否在 docroot 下)...所以,因为我们都看到了不同的问题在这里,我建议它不清楚OP在问什么

标签: php codeigniter


【解决方案1】:

http://php.net/manual/en/function.define.php

define() 设置一个常量环境变量,defined() 检查它是否已设置。如果您使用的是 apache,您可以使用 SetEnv 在 VHost 配置(或.htaccess)中设置它

SetEnv BASEPATH /path/to/webroot

对我来说,这听起来像是一个 codeigniter 项目。一切都应该通过public/index.php,如果你看那里你应该看到BASEPATH在某处被定义。

所以,听起来可能是您的 apache 没有通过您的前端控制器编组请求。再次检查您的虚拟主机配置,或public/.htaccess

【讨论】:

    猜你喜欢
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 2013-10-27
    • 2017-10-22
    • 1970-01-01
    • 2012-07-15
    • 2014-04-02
    相关资源
    最近更新 更多