【问题标题】:How to make sites unavailable to user PHP?如何使网站对用户 PHP 不可用?
【发布时间】:2019-05-07 07:12:18
【问题描述】:

我在编码页面时使用了很多包含来保持代码更美观并避免多次输入代码。

index.php 示例:

<?php 
include 'header.php';
?>

<p> random HTML </p> 

<?php
    include 'foo.php';
?>

现在的“问题”是客户端能够导航到 www.page.de/foo.php 并查看此内容。有没有一种 PHP 方式可以在不使用 .htaccess 的情况下解决这个问题?

【问题讨论】:

  • “有没有一种 PHP 方式可以在不玩 .htaccess 的情况下解决这个问题?” - 有太多方法可以做到这一点。
  • 你有用户数据库吗?
  • 一个好的实践解决方案就足够了。
  • @FunkFortyNiner 是的,我有一个用户数据库,但为什么这很重要?
  • 看到您在答案中留下的 cmets,我发现它似乎无法满足您的要求。如果您使用的是您提到的数据库,那么有很多方法可以做到这一点。但是,如果您认为答案解决了问题,请考虑接受它。

标签: php html web include


【解决方案1】:

不要将不希望用户看到的php文件放在public/目录中。

编辑了 .htaccess 的提及,因为您将其编辑到问题规范中

【讨论】:

  • 并不是说用户不应该看到该文件。反正他看到了。诸如“如果登录”之类的事情已经被考虑在内,但他们仍然可以查看这些页面......可以说包含是登录公式:无论如何它都显示在首页上,但是 www.page.de/login .php 只显示公式,没有 HTML + CSS 设计的其余部分
  • 简短但基本正确; PHP可以要求/包含文档根目录中不能直接通过HTTP访问的文件。
  • 如果我没记错的话,我相信是通过include_path 完成的。
  • 所以假设我创建了一个私人文件夹(不包含在文档根目录中)并将 foo.php 放入其中并将其包含到我的 index.php 文件中我的问题解决了吗?
  • 更正@devNull 我们在旗舰产品中拥有的是一个带有入口点文件的 public/ 目录。所有其他 php 文件(我们编写的)都保存在 application/ 目录中。每个优秀的 PHP 框架都以这种方式或类似的方式实现它
猜你喜欢
  • 1970-01-01
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多