php – 使用include时无法直接访问脚本

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 使用include时无法直接访问脚本脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 PHP驱动的CMS网站.我想在 PHP脚本中包含database.PHP. database.PHP位于config文件夹中,并具有数据库连接详细信息(pass,db_name等).

这是脚本:

<?PHP 
  echo __DIR__ ."<br /><br />"; 
  //make sure your assumptions on directories and path are correct for the 
  //include below

  include '../application/config/database.PHP';

?>

运行脚本,我收到此消息:

在database.PHP的第一行是这一行:

<?PHP defined('SysPATH') or die('No direct script access.');

我猜这个CMS已经以某种方式“保护”了配置文件,这阻止了我将其包含在内.什么是“无直接脚本访问”?谷歌为我提供了许多寻求添加功能的人的例子.我希望将其删除.可能?可能性有多大?我怎么告诉PHP让我访问database.PHP

解决方法

解决这个问题的基本方法是在应用程序的某个地方(在加载database.PHP之前),有一条线路:

define( 'APPLICATION_LOADED',true );

在database.PHP中有一个针对此执行的检查,类似于:

if( !defined('APPLICATION_LOADED') || !APPLICATION_LOADED ) {
    die( 'No direct script access.' );
}

查看database.PHP及其包含的任何文件,以确定它是如何检查脚本是否被直接访问.然后,如果要在脚本中包含该文件,则可以模拟必要的条件.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 使用include时无法直接访问脚本全部内容,希望文章能够帮你解决php – 使用include时无法直接访问脚本所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。