安全地存储脚本



我有一个为买卖双方服务的网站。因此,一旦我对用户类型进行了身份验证,我就会加载相应的模块。参见以下逻辑:

 If $loggedinusertype = Buyer;
 include(/buyer_module.php);
 else 
  include(/seller_module.php);

现在,我存储这些模块的方式就像存储contact.php文件一样。如果我访问domain.com/seller_module.php,就可以访问这些模块。现在,我想知道如何以这样一种方式存储这些模块,即没有人可以直接访问它,只能在include组件中使用。我有200个这样的模块。。。。

您可以将它们存储在正常web目录之外的区域中。

假设您的网络目录是/home/yoursite/www-

你可以将包含文件放在/home/yoursite/其他目录中,没有人能够直接从你的网站访问它们。

关于如何做到这一点,我有两个建议。

  1. 只需将所有模块存储在web根目录之外,就无法从浏览器访问它们。

  2. 如果上述方法不可行,请在主应用程序或包含各个模块的脚本中定义一个常量。在各个模块中,检查是否已定义常量。如果没有,那么你可以假设有人试图在浏览器中访问它,如果是的话,那么该文件就包含在你的脚本中。

示例2:

index.php

<?php
define('SOME_CONSTANT', 1);
// ...
include 'buyer_module.php';

buyermodule.php和您不想直接调用的所有其他模块

<?php
if (!defined('SOME_CONSTANT')) exit;

最新更新