Php 访问我的页面的安全方式

Php 访问我的页面的安全方式,php,Php,我在试图找出如何解决此代码中的错误时遇到困难。我在看视频教程 //when your looking for path $core_path= dirname(__FILE__); if(empty($_GET['page']) && in_array("{$_GET['page']}.page.inc.php",scandir("{$core_path}/pages"))==false){ echo'invalid page'; } 在我的wamp服务器上测试此代码时

我在试图找出如何解决此代码中的错误时遇到困难。我在看视频教程

//when your looking for path
$core_path= dirname(__FILE__);
if(empty($_GET['page']) && in_array("{$_GET['page']}.page.inc.php",scandir("{$core_path}/pages"))==false){
    echo'invalid page';
}
在我的wamp服务器上测试此代码时出现的错误是

Notice: Undefined index: page in C:\wamp\www\pm_system\core\init.inc.php on line 8

$\u获取['page']
这里变量的名称是“page”。确保您将此URL的变量名指定为“页面”

比如说

header("Location:second.php?page=3");// here the name of varible which is passing to the url is "page"
关于second.php

echo $_GET['page'];//give out put 3

您可能使用的URL没有
$page=some page
,因此
$\u GET['page']
不存在,您应该检查它是否存在,而不是它是否为空,如下所示:

//when your looking for path
$core_path= dirname(__FILE__);

if(isset($_GET['page']) && in_array("{$_GET['page']}.page.inc.php",scandir(" {$core_path}/pages"))==false){
    echo'invalid page';
}

我尝试使用| |而不是&&也就是说,如果(empty($_GET['page'])| | in_数组({$_GET['page']}.page.inc.php),scandir({$core_path}/pages”)==false)操作解决了未定义的索引页错误。但问题是,当页面实际存在时,我得到了错误无效页面。因此,使用| |它应该可以正常工作。您仍然得到错误吗?请检查您是否得到$| u get['page']的值;echo$_获取['page'];打印数组并检查是否获得值。我想你的问题是在另一个页面上,通过这个页面值会出现,那么第一个chk你会得到这些页面上的值吗?如果我使用print_r(scandir(“{$core_path}/pages”);我得到我的页面的结果。这就是数组([0]=>[1]=>..[2]=>inbox.page.inc.php[3]=>login.page.inc.php[4]=>logout.page.inc.php[5]=>new_conversation.page.inc.php[6]=>view_conversation.page.inc.php)