繁体   English   中英

安全地存储脚本

[英]Storing Scripts Securely

我有一个为两方(买方和卖方)服务的网站。 因此,一旦我认证了用户类型,便会加载相应的模块。 请参阅以下逻辑:

 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 / some-other-directory中,没有人可以直接从您的站点访问它们。

关于如何执行此操作,我有两个建议。

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

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

示例2:

的index.php

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

Buyer_module.php和您不希望直接调用的所有其他模块

<?php

if (!defined('SOME_CONSTANT')) exit;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM