Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个index.php来处理一切_Php_.htaccess - Fatal编程技术网

一个index.php来处理一切

一个index.php来处理一切,php,.htaccess,Php,.htaccess,我目前正在为一些小项目用php开发迷你cms。 首先,我要说的是,我对这种语言只有基本的了解 在尝试为那个迷你cms开发登录页面时,我在github上搜索了一些项目,遇到了一个名为“”的项目 我已经根据我的项目实施了它,但我有以下一些问题 它使用视图,并通过.htaccess(包括以下命令)防止外部访问该视图 # This file prevents that your .php view files are accessed directly from the outside <File

我目前正在为一些小项目用php开发迷你cms。 首先,我要说的是,我对这种语言只有基本的了解

在尝试为那个迷你cms开发登录页面时,我在github上搜索了一些项目,遇到了一个名为“”的项目

我已经根据我的项目实施了它,但我有以下一些问题

它使用视图,并通过.htaccess(包括以下命令)防止外部访问该视图

# This file prevents that your .php view files are accessed directly from the outside
<Files ~ "\.(htaccess|php)$">
order allow,deny
deny from all
</Files>
麻烦从这里开始。 在我的项目的“logged_In.php”文件中,有导航链接,可以将用户重定向到该视图,以创建、更新页面或帖子,如下所示:

<li class="active">
 <a href="<?php echo ADMIN_ROOT; ?>index.php">main panel</a>
</li>
<li>
<a href="<?php echo ADMIN_ROOT; >page/pageManagement.php">pages</a>
 <ul>
  <li class="green"><a href='<?php echo ADMIN_ROOT; ?>page/createPage.php'>create new page</a>
  </li>
 </ul>
</li>
  • 所以,正如预期的那样,当我点击那个链接时,它会向我显示禁止的消息。我如何处理这个问题,或者你能引导我找到更好的解决方案


    谢谢。

    更好的解决方案是发表意见

    但是有一些有效的参数可以阻止直接访问
    .php
    代码:

    干净的URL一致性:

    通过阻止直接访问,您可以保证您的站点url方案将得到尊重,从而避免以不同的方式访问您的页面

    URL寿命:

    URL并没有直接连接到文件结构,所以即使您更改了站点结构或编程语言,也可以维护它

    安全性:

    并非所有的php文件都需要通过URL加载,其中一些文件需要包含在其他php文件中。防止直接访问这些页面的另一种方法是在父文件中声明一个全局变量,如果该变量未定义,则在include file中停止执行


    使用一页路由所有请求是另一种常见做法,它的优点是简化重写规则条件,并在一页代码中干净地控制所有重定向。从某种意义上说,这是迈向更复杂的目标的第一步。我看到您的第三部分脚本包括“views/…”:可能是指MVC模式


    因此,如果选择保持原始URL结构,则必须删除.htaccess文件,否则必须重写URL并修改.htaccess文件,添加重定向到index.php(或其他路由器文件名)的重写规则条件。

    为什么要阻止对后端php文件的访问?。我还在一个网页上工作,你总是在索引上,javascript处理内容,但只要你不链接任何PHP脚本,你就不应该真的想阻止它们,普通用户不会尝试访问它们,不管是谁,只要解决它给他造成的任何问题。你应该这样做,即使直接访问也不会造成任何伤害。@aron9forever实际上我也想理解它。为什么开发人员更喜欢以这种方式开发项目。他认为,在现代web开发中,Project使用一个index.php来处理所有事情。资料来源:[
    <li class="active">
     <a href="<?php echo ADMIN_ROOT; ?>index.php">main panel</a>
    </li>
    <li>
    <a href="<?php echo ADMIN_ROOT; >page/pageManagement.php">pages</a>
     <ul>
      <li class="green"><a href='<?php echo ADMIN_ROOT; ?>page/createPage.php'>create new page</a>
      </li>
     </ul>
    </li>