隐藏Joomla相关信息
为了避免被攻击,我们可能不想让别人知道自己使用的是Joomla!。
网站URL...
Joomla后台提供了一定的SEO设置功能,使得我们能将
http://example.com/index.php?option=com_content&view=article&id=3&Itemid=117
变成
http://example.com/aaaa/bbb.html
这种样子。但是其他人仍然能通过原始形式进行访问。比如通过下面的URL访问登录界面
http://example.com/component/users
http://example.com/?option=com_users
JoomSEF 和 sh404SEF 似乎能解决这种问题(没有试过,以后慢慢看)。
meta generator
Joomla! 建的网站,源码中会包含类似下面的meta信息
<meta name="generator" content="Joomla! - Open Source Content Management - Version 3.3.5" />
尽管版本号可以在后台site的全局设置隐藏,但是
<meta name="generator" content="Joomla! - Open Source Content Management" />
可能仍不是我们希望看到的。那么如何解决呢?
- 首先,我们需要找到它是那儿生成的
打开文件 libraries/joomla/document/html/renderer/head.php,在104行左右可以看到
// Don't add empty generators
$generator = $document->getGenerator();
if ($generator)
{
$buffer .= $tab . '<meta name="generator" content="' . htmlspecialchars($generator) . '" />' . $lnEnd;
}
找到症结,解决就不难了。
- 解决方法
我们可以直接将其删除或注释掉,或者在模板的index.php文件中将其定义为空
<?php $this->setGenerator(''); ?>
这两种方式都需要手动对代码动刀,有没有干这种事情的扩展呢??
插件 | ... |
---|---|
ByeByeGenerator | |
Aimy No Generator |
后台网址
直接输入 http://example.com/administrator 即可打开后台登陆界面,这也会潜在的风险。
有组件可以阻止这种访问,通过设置该路径的访问用户名密码,或者网址后面加上一个预设的Key,比如
http://example.com/administrator?passkey
插件 | ... |
---|---|
AdminExile | |
jSecure | |
Admin Tools |
参考
- Remove <meta name="generator"
- https://dwebxperts.wordpress.com/2013/01/09/joomla-remove-meta-generator-tag/
- http://www.vincenzocaserta.it/en/blog-vincenzo-caserta-en/blog/447-rename-joomla-meta-name-generator.html
- http://stackoverflow.com/questions/11949893/joomla-forbid-direct-access-to-components-and-modules
- https://docs.joomla.org/Htaccess_examples_%28security%29
- https://docs.joomla.org/Preconfigured_htaccess
- http://www.artio.net/joomsef/documentation
网站维护相关插件
Akeeba Backup备份网站
- 备份
首先需要安装 Akeeba Backup 这一扩展。 Akeeba Backup 还是很容易操作的,默认配置下,直接点击“立即备份”即可。
多数配置参数也不需要都搞清楚,估计设置一下备份文件的存放位置,以及哪些文件或数据表除外就差不多了。备份格式默认是Akeeba自创的JPA格式,也可以选择更通用的zip格式,推荐前者,后者某些时候会有问题。
而后可以把备份文件保下载保存在云端或者其他地方。(可以通过Akeeba Backup管理界面下载,或者通过其他途径比如FTP等下载,推荐后者)
- 恢复和迁移
方法一:
首先:需要解压备份文件,zip格式工具比较多,JPA的话,需要用Akeeba eXtract Wizard进行解压。
而后,将解压后的文件移动到网站目录下。在浏览器中执行 http://example.com/installation/index.php 就触发了恢复操作。
如果迁移网站的话,需要设置新的MySQL的连接信息。
方法二:
使用Akeeba Kickstart 这一个php脚本。
将该php文件和网站备份文件一块放到网站目录下,在浏览器中执行 http://example.com/kickstart.php 就触发了恢复操作。
网站关闭
Joomla!后台全局设置中有“网站关闭”选项,一些模板比如helix也提供有comingsoon选项。
一些扩展提供网站关闭时页面的设置。还有一些扩展比如 Offline可以供关闭时测试网站使用。
参考
- https://www.akeebabackup.com/documentation/quick-start-guide.html