Php 是否有任何方法可以绕过已定义的(“应用程序”)或退出(“禁止访问”)

Php 是否有任何方法可以绕过已定义的(“应用程序”)或退出(“禁止访问”),php,Php,crud.php: 已定义(“应用程序”)或退出(“不允许直接访问”)//更新数据库等 我知道此代码用于防止攻击者直接访问此文件,并使此文件只能从同一环境中访问 我认为Environment是同一个站点,所以我尝试使用chrome检查文件,并创建表单,将输入发送到crud.php,因此我的表单在技术上是在同一个环境中,但表单什么都不做,即使我知道所有需要的参数,它也只是显示“不允许直接访问” 我知道我错了,但同样的环境意味着什么? 有没有办法绕过上面的代码,让攻击者可以直接访问脚本 如果有人问,

crud.php:

已定义(“应用程序”)或退出(“不允许直接访问”)//更新数据库等

我知道此代码用于防止攻击者直接访问此文件,并使此文件只能从同一环境中访问

我认为Environment是同一个站点,所以我尝试使用chrome检查文件,并创建表单,将输入发送到crud.php,因此我的表单在技术上是在同一个环境中,但表单什么都不做,即使我知道所有需要的参数,它也只是显示“不允许直接访问”

我知道我错了,但同样的环境意味着什么? 有没有办法绕过上面的代码,让攻击者可以直接访问脚本


如果有人问,是的,我正在进行pentesting,我完全同意pentest他们的网站,并发现他们位于/admin/edit/文件夹中的编辑文件未受保护,可以访问,但是/admin/文件夹本身是受保护的,需要凭据才能访问它

,并使此文件只能从相同的环境中访问
…在这种情况下基本上是一个毫无意义的短语<代码>直接访问此文件
对于该代码正在执行的操作很有意义。它只是检查是否定义了一个常量(该常量可能是在通常包含该常量的另一个脚本中定义的)。这足以阻止直接访问。但它并不试图对请求来自何处做出任何判断,因此我不知道你为什么认为它与“环境”有关(无论如何,这是一件非常模糊的事情)-你是从哪里得到这个想法的?@ADyson第一个答案说,
行的存在是为了确保文件在CodeIgniter环境中使用。
所以我认为如果我想访问它,我需要在同一个站点/环境上?通过“CodeIgniter环境”,这实际上只是意味着“CodeIgniter应用程序上下文”-即,在脚本中设置由
define()
函数检查的常数-正如我前面提到的。它不是在服务器、域、操作系统或诸如此类的东西中谈论“环境”。它的措辞可能不是很清楚,但您可以从代码中准确地看到实际效果。您可以从任何地方请求此脚本,您将得到完全相同的响应。它只有包含在设置“应用程序”常量的脚本中时才能访问。简而言之,绕过该行的方法是使用
define
const
定义该常量。