我在某种程度上是PHP中的noobie,我想学习。我正在制作一个proyect,我在其中使用require('parts/header.php')
语句来包含函数和模板。我的网页看起来像这样:
<?php
include('core/checklogin.php');
//This will check if the user is logged in and can see this page or not
include('parts/top.php');
//This loads the <head> tags and the header, including the navbar
?>
<section id="mainArea">
<h1>Hello <?php echo getUserNickname()?></h1>
<p>Some stuff</p>
</section>
<?php
include('parts/bottom.php');
//This loads the <head> tags and the header, including the navbar
?>
问题是,如果有人进入myproyect.com/parts/top.php,他会看到顶部,并且该文件将被执行。我不希望这样。我想在.htaccess文件中做一些事情,如:
#.htaccess inside parts directory
dont_serve_anything_inside_this_directory_and_return_forbidden();
但我不知道如何不影响服务器端代码。
另一种方法是使用等效的if __name__ == 'main':
python,并执行:
//parts/top.php
if(__name__ == 'main'){
header('Location: /index.php');
exit();
}
我该怎么办?
答案 0 :(得分:0)
您需要在受到外部直接访问文件夹保护的所谓中创建文件.htaccess
,并在其中添加以下内容:
Deny from all
这会阻止用户使用http://example.com/parts/bottom.php
只需将.htacccess
添加到parts
文件夹即可。