Joomla 重定向任何以正确的 itemId 开头的 URL
Joomla redirects any URL that starts with a correct itemId
我的 Joomla 网站因 12 月的漏洞被黑。这使得 google 将其标记为危险站点。不好。
我清理了它并向 google 报告我已经清理了。
在编辑我的 htaccess 文件使其直接重定向到它们之后,hackers/spanners 放了一些像“1_junk_shopping_blah.html”这样的文件并在 google 上索引了它们。
修复所有内容后,我注意到 www.example.com/1_junk_shopping_blah.html 重定向到 itemId 为 1 的文章。Joomla 显然删除了前导数字后的所有内容并将其用作有效url。 Google 认为我仍然有垃圾邮件在线并且我的网站仍然被标记为恶意。
我试图将类似的 urls 放在另一个未被黑客攻击的 Joomla 网站上,它以相同的方式重定向,所以这似乎不是黑客攻击导致的问题,但更多的是Joomla 的设置方式。
为什么 Joomla 重定向 url 不正确的内容?我怎样才能解决这个问题?如有必要,我可以编辑 Joomla 的核心,但我需要一些指导,以免弄乱它而不是修复它。或者我可以在我的 .htaccess 中添加一些东西吗?
谢谢!
按照以下步骤检查您网站上的恶意软件
- Sitecheck by sucuri.net
- 而不是尝试在 Joomla 文件中查找所有未经授权的修改。
在(或之前更好!)从可疑代码中清除站点之后,
更改所有密码,是否用于
FTP, MySQL, SMTP
身份验证
(Site -> Configuration -> Server -> Mail)
和行政部门
面板!
用于从 URL 中删除 ID
- https://joomla.stackexchange.com/questions/988/remove-article-id-from-joomla-3-url
- Get rid of ID (category and article) from URL (Joomla 3.3 / 3.4 / 3.5)
我建议使用第 3 方扩展程序,因为它更容易防止难看的 URL。
我 "solved" 在我们的模板中使用一些 PHP 代码,我把解决的问题放在引号中,因为它并不完美。它将阻止具有前导数字的有效 urls.. 我们的一个客户实际上有一个以数字 5 开头的文章标题,所以在他们的情况下这是行不通的.. 但是在另一个被标记为恶意的网站上, 它工作得很好,因为他们所有的标题在开头都是按字母顺序排列的。
在受限访问行下方的模板中(所有好的模板都应该有这个)..下面的代码将检测 url 是否以前斜杠开头并后跟一个数字,如果是然后它设置 404 header 并重定向到我知道不存在的实际页面以显示 404 页面..
正如您想象的那样,如果您有一个以“4”开头的自定义 404,这可能会导致无限循环,所以它又是……不完美。我只是写这篇文章来解决他们眼前的问题。
if (preg_match("#^/[0-9]#", $_SERVER['REQUEST_URI'])) {
header("HTTP/1.0 404 Not Found");
header("Location: /page-not-found");
}
我的 Joomla 网站因 12 月的漏洞被黑。这使得 google 将其标记为危险站点。不好。
我清理了它并向 google 报告我已经清理了。
在编辑我的 htaccess 文件使其直接重定向到它们之后,hackers/spanners 放了一些像“1_junk_shopping_blah.html”这样的文件并在 google 上索引了它们。
修复所有内容后,我注意到 www.example.com/1_junk_shopping_blah.html 重定向到 itemId 为 1 的文章。Joomla 显然删除了前导数字后的所有内容并将其用作有效url。 Google 认为我仍然有垃圾邮件在线并且我的网站仍然被标记为恶意。
我试图将类似的 urls 放在另一个未被黑客攻击的 Joomla 网站上,它以相同的方式重定向,所以这似乎不是黑客攻击导致的问题,但更多的是Joomla 的设置方式。
为什么 Joomla 重定向 url 不正确的内容?我怎样才能解决这个问题?如有必要,我可以编辑 Joomla 的核心,但我需要一些指导,以免弄乱它而不是修复它。或者我可以在我的 .htaccess 中添加一些东西吗?
谢谢!
按照以下步骤检查您网站上的恶意软件
- Sitecheck by sucuri.net
- 而不是尝试在 Joomla 文件中查找所有未经授权的修改。
在(或之前更好!)从可疑代码中清除站点之后,
更改所有密码,是否用于
FTP, MySQL, SMTP
身份验证(Site -> Configuration -> Server -> Mail)
和行政部门 面板!
用于从 URL 中删除 ID
- https://joomla.stackexchange.com/questions/988/remove-article-id-from-joomla-3-url
- Get rid of ID (category and article) from URL (Joomla 3.3 / 3.4 / 3.5)
我建议使用第 3 方扩展程序,因为它更容易防止难看的 URL。
我 "solved" 在我们的模板中使用一些 PHP 代码,我把解决的问题放在引号中,因为它并不完美。它将阻止具有前导数字的有效 urls.. 我们的一个客户实际上有一个以数字 5 开头的文章标题,所以在他们的情况下这是行不通的.. 但是在另一个被标记为恶意的网站上, 它工作得很好,因为他们所有的标题在开头都是按字母顺序排列的。
在受限访问行下方的模板中(所有好的模板都应该有这个)..下面的代码将检测 url 是否以前斜杠开头并后跟一个数字,如果是然后它设置 404 header 并重定向到我知道不存在的实际页面以显示 404 页面..
正如您想象的那样,如果您有一个以“4”开头的自定义 404,这可能会导致无限循环,所以它又是……不完美。我只是写这篇文章来解决他们眼前的问题。
if (preg_match("#^/[0-9]#", $_SERVER['REQUEST_URI'])) {
header("HTTP/1.0 404 Not Found");
header("Location: /page-not-found");
}