Php 阻止直接访问

Php 阻止直接访问,php,Php,如何在不修改.htaccess的情况下阻止对某些页面的直接访问 是否有一种方法可以通过在每个脚本中使用一些代码来实现这一点 任何帮助都将不胜感激。尝试在第一行添加此代码: 根据Michael Berkowski的建议,答案的改进版本如下: /***************DO NOT ALLOW DIRECT ACCESS************************************/ if ( (strpos( strtolower( $_SERVER[ 'SCRIPT_NAME'

如何在不修改.htaccess的情况下阻止对某些页面的直接访问

是否有一种方法可以通过在每个脚本中使用一些代码来实现这一点


任何帮助都将不胜感激。

尝试在第一行添加此代码:

根据Michael Berkowski的建议,答案的改进版本如下:

/***************DO NOT ALLOW DIRECT ACCESS************************************/
if ( (strpos( strtolower( $_SERVER[ 'SCRIPT_NAME' ] ), strtolower( basename( __FILE__ ) ) ) ) !== FALSE ) { // NOT FALSE if the script's file name is found in the URL 
  header( 'HTTP/1.0 403 Forbidden' );
  die( '<h2>Direct access to this page is not allowed.</h2>' );
}
/*****************************************************************************/
/**********不允许直接访问************************************/
if((strpos(strtolower($_SERVER['SCRIPT_NAME']))、strtolower(basename(uu FILE_u)))!==FALSE){//如果在URL中找到脚本的文件名,则不为FALSE
标题('HTTP/1.0 403禁止');
die('不允许直接访问此页面');
}
/*****************************************************************************/

更新:
/**********不允许直接访问************************************/
if(stripos($\u SERVER['REQUEST\u URI'],basename(\uu FILE\uu))!==FALSE){//TRUE(如果在URL中找到脚本的文件名)
标题('HTTP/1.0 403禁止');
死(“禁止!您没有访问此页面的权限。”);
}
/*****************************************************************************/

此代码可用于保护具有其他代码使用的函数、类等的文件,这些代码不需要通过浏览器访问。如大多数WP插件,admin和include文件,WP-config.php,functions.php;用于获取通过POST方法(非GET)等传输的数据的文件。

始终使用严格的比较
strpos()!=FALSE
,因为当字符串在第一个字符串中时,它将返回等于FALSE的0position@Michael谢谢你的建议。
/***************DO NOT ALLOW DIRECT ACCESS************************************/
if ( stripos( $_SERVER[ 'REQUEST_URI' ], basename( __FILE__ ) ) !== FALSE ) { // TRUE if the script's file name is found in the URL
  header( 'HTTP/1.0 403 Forbidden' );
  die( "<h2>Forbidden! You don't have permission to access this page.</h2>" );
}
/*****************************************************************************/