SmartFAQ 由 The SmartFactory(https://www.smartfactory.ca)开发,隶属于 InBox Solutions(https://www.inboxsolutions.net)

XOOPS_TRUST_PATH 的意义
来源:XOOPS_Tips

XOOPS_TRUST_PATH 由 GIJOE 提出(基于 minahito 的想法,并由 GIJOE 予以认可)。XOOPS_TRUST_PATH 的想法和/或概念是,通过将所有模块的 PHP 文件从 web 根目录或 DOCUMENT_ROOT 中移除,以确保 Xoops 模块的安全性。

这样做可以使模块不容易受到潜在的攻击者的篡改,尤其是如果模块在文档根目录下包含私有文件的话。

(将 MySQL 用户名和密码从 mainfile.php 或文档根目录中移出也是一个类似的想法。)

使用 XOOPS_TRUST_PATH 的第二个好处是,如果模块开发者采用了这个想法,模块的复制过程可以简化并变得可管理。

那些尝试过复制 Xoops 模块的人可以证实这是多么困难的一件事。

GIJOE 提出了几个可复制的模块,尽管 V2/D2(GIJOE 给的名称)使复制变得更容易,但它们仍然不易于维护。最重要的是,将模块命名为 “/modules/news/” 和 “/modules/news1/” 并不是一个专业的命名方法。

随着 XOOPS_TRUST_PATH 和可复制的模块(或可复制的 V3/D3)的引入,你可以自由地为模块命名。你可以有许多实例相同的模块,每个都有自己的模板文件和 MySQL 表文件,并且都可以安全地从位于网络根目录之外的单一模块中运行。模板文件将与模块名称一起安装,这样你可以根据需要对其进行定制,以便区分复制的模块(见注意事项)。

当然,模块必须利用 XOOPS_TRUST_PATH 开发和编写。迄今为止,没有多少模块采用了这个想法,只有少数日本开发者基于 D3 开发模块。希望我们将看到越来越多的模块开发者采用 D3。

Suin 开发的公告(一个功能更强大、更灵活的新闻模块)是使用 XOOPS_TRUST_PATH 的模块之一
(http://suin.jp/modules/mydownloads/singlefile-cid-10-lid-12.html)

注意:即使在 Suin 未指定对此平台的支持的情况下,公告也能在原始的 Xoops 中正常运行。

要使用XOOPS_TRUST_PATH,您必须编辑mainfile.php,添加一个定义XOOPS_TRUST_PATH位置的常量。

该位置应位于您的文档根目录之外,以利用安全功能。

如果你的Xoops网站根目录是
/home/yourname/public_html

那么您应该在/home/yourname下创建一个目录,与public_html平行(NOT UNDER it,否则它将抵消将文件移出网站根目录的全部安全目的)。

我们将创建一个名为“xoops-secure”的目录,因此我们在mainfile.php中添加一个条目
define('XOOPS_TRUST_PATH','/home/yourhome/xoops-secure');

然后在xoops-secure下创建一个名为“modules”的目录。别忘了为这两个目录设置chmod 705以增加额外的安全性。

解压缩公告模块。公告模块有两个目录
html/modules/bulletin – 将内容上传到您的网站根目录,就像上传常规模块一样
xoops_trust_path/modules/bulletin – 将内容上传到xoops-secure/modules/下

按常规进行模块安装,您将在Xoops中安装一个名为bulletin的模块。

现在,我们将安装相同公告模块的第二个实例。

您可以将html/modules/bulletin下的bulletin重命名为您想要的名字 - 让我们将其命名为“xnews”。将内容上传到网站根目录下的modules目录。然后安装它,现在您已安装了两个相同的公告模块 - bulletion和xnews!

即使是您只打算使用公告模块一次,您也可以第一次更改公告模块的名称。如果您不希望使用模块的名称,您可以自由地将公告重命名为您心中所想的名字。

在XOOPS_TRUST_PATH下的公告模块名称不能更改。如果您想更改模块文件,您应该在XOOPS_TRUST_PATH/modules/bulletin下进行更改,因为Xoops根目录下的所有模块文件都是重定向文件。

为了区分两个公告模块实例,您可以自定义模板文件(GIJOE的tplsadmin模块是修改模板文件的好方法)。


使用公告的注意事项
公告提供了一个简单的方法将现有的新闻模块文章转换为公告文章。如果您有一个包含大量文章的现有网站,在转换之前应三思。

公告的URL与新闻URL不同。转换和使用公告将会完全破坏您的搜索引擎索引。如果您从搜索引擎中获得相当多的流量,您可能不应该进行转换。

如果您从头开始(start anew),公告模块应该被视为新闻模块的良好替代方案。


使用D3的注意事项
模板文件是集中的 - 如果您更新模块,所有重复模块的模板文件都将被覆盖。


其他可以与XOOPS_TRUST_PATH一起玩的东西
GIJOE的每个页面“最快的缓存”黑客。


评论归作者所有。我们不对其内容负责。
user

 无法更改mainfile


我尝试更改 mainfile.php 文件以添加信任路径,但总是遇到错误。它不允许我编辑它。

我确信我在做非常愚蠢的事情。

 


Login

Who's Online

230 user(s) are online (17 user(s) are browsing XOOPS FAQ)


Members: 0


Guests: 230


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Aug 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Did you know ?

The basic structure of a XOOPS theme is similar to that of any other static website template. The primary difference is the addition of Smarty variables that interact with XOOPS to output your dynamic content.

Random question

I using the theme phpkaox, but after upgrading XOOPS Core, the menus displayed horizontally instead of vertically