gpt4 book ai didi

php - 使php文件对外界隐藏

转载 作者:可可西里 更新时间:2023-11-01 06:46:04 25 4
gpt4 key购买 nike

我的 php 网站有多个 php 文件,其中一些用于用户界面,一些是辅助文件(这些文件通过数据库相互通信以返回结果)。现在我需要用户不能从他们的直接 url 执行帮助文件。

e.g. mydomain.com/login.php   ---------- (Interface file, must be accessible to user)
mydomain.com/login_handle.php ----(Healper file, must not be accessible to user)

所以我需要的是用户可以执行和浏览 mydomain.com/login.php 但不能执行 mydomain.com/login_handle.php,同时 login.php 和 handle_login.php 保持通信并且可以相互访问。谢谢,

编辑:抱歉,我使用的是共享主机,除了 public_html 之外没有其他文件夹

最佳答案

我首先要尝试的事情:

  1. 将包含的文件移出文档根目录

  2. 将包含的文件移动到另一个文件夹中,并使用 .htaccess 对其进行保护。或者,将您的包含文件重命名为以 .inc 结尾,并基于此创建规则。

  3. 确保包含的文件不输出任何内容;这不是很安全,但如果您的文件只包含函数、类定义等而不产生任何输出,它只会显示一个空页面。

这个 hackish 方法可以通过使用常量来完成:

索引.php

<?php

define('MY_CONSTANT', '123');

include('helper.php');

helper.php

<?php

if (!defined('MY_CONSTANT')) { exit; }

// we were called from another file
// proceed

编辑

上面的第 2 种方法可以通过以下方式完成:

  1. public_html 下创建一个文件夹,例如包含/

  2. 将所有只应包含的文件移动到此文件夹中

  3. 在里面添加下面的.htaccess:

    <FilesMatch "\.php$">
    Order allow, deny
    Deny from all
    </FilesMatch>

关于php - 使php文件对外界隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com