Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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
在PHP中隐藏后端的最佳方法?_Php_Redirect_Login - Fatal编程技术网

在PHP中隐藏后端的最佳方法?

在PHP中隐藏后端的最佳方法?,php,redirect,login,Php,Redirect,Login,我正在开发一个基于PHP的web应用程序,允许用户登录。404’ing所有后端(实际的应用程序页面)的合适方法是什么 我有一个user tools类,其中有一个check login函数,我现在正在使用它。如果用户未登录,它将重定向到404 但是我想知道有没有更好的方法来设置它?我是否可以拥有一个全局页面,其中包含所有页面的列表,如果用户未登录,这些页面应为404?如果是这样的话,你会如何设置呢?许多网站的所有流量都通过一个入口点。在这样的设置中,您可以在单个文件中定义一个常量,并在包含的每个文

我正在开发一个基于PHP的web应用程序,允许用户登录。404’ing所有后端(实际的应用程序页面)的合适方法是什么

我有一个user tools类,其中有一个check login函数,我现在正在使用它。如果用户未登录,它将重定向到404


但是我想知道有没有更好的方法来设置它?我是否可以拥有一个全局页面,其中包含所有页面的列表,如果用户未登录,这些页面应为404?如果是这样的话,你会如何设置呢?

许多网站的所有流量都通过一个入口点。在这样的设置中,您可以在单个文件中定义一个常量,并在包含的每个文件中检查它,这样您就知道该文件实际上是否由条目文件加载。例如,此方法在MediaWiki中实现


另一个解决方案是将所有include文件放在文档根目录之外。许多框架(如Codeignator和其他框架)允许您指定此目录,并允许您将其放在任何您想要的地方。如果文件位于文档根目录之外,访问者无法直接从该目录加载文件。

永远不要“重定向到404”,只需从请求的页面发送404标题。下载预打包的CMS,如WordPress。查看默认的
.htaccess
文件&
index.php
文件。然后了解他们是如何通过
.htaccess
规则通过主
index.php
路由所有流量的。因此,在回答的第一部分,您说您将有类似global.connect.php的东西连接到数据库。然后检查用户是否登录并在每个页面上包含文件?这是可能的,但我的意思是相反的。使用htaccess,可以将每个请求重定向到同一个文件(index.php)。php分析请求并相应地包含正确的文件。通过这种设置,文档根目录中唯一需要的文件是index.php。所有其他的都可以在其他地方,在直接访问之外。哦,这就是我在第二篇文章中的意思,虽然我提到的MediaWiki也使用这种技术,所以基本上它们非常相似。这两种解决方案都基于单个条目文件,但一种解决方案是通过在每个文件上添加一行代码来保护每个文件,而另一种解决方案则通过使它们完全不可访问来保护它们。在CodeIgnitor、Kohana、Yii等框架中,这种单条目解决方案通常称为“路由”,因此您可以研究它们是如何做到的。也有独立的路由引擎。也许你可以从这个问题中得到一些启发:好吧,酷。谢谢你的帮助,伙计