if __name__ == main PHP来保护我的代码

时间:2015-06-30 22:31:10

标签: php .htaccess

我在某种程度上是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();
 }

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要在受到外部直接访问文件夹保护的所谓中创建文件.htaccess,并在其中添加以下内容:

Deny from all 

这会阻止用户使用http://example.com/parts/bottom.php

访问您的文件

只需将.htacccess添加到parts文件夹即可。