Php Joomla重定向任何以正确的itemId开头的URL

Php Joomla重定向任何以正确的itemId开头的URL,php,apache,.htaccess,redirect,joomla,Php,Apache,.htaccess,Redirect,Joomla,我的Joomla网站因为去年12月的漏洞而遭到黑客攻击。这使得谷歌将其标记为一个危险的网站。不太好 我把它清理干净,并向谷歌报告我已经这样做了 黑客们在编辑了我的htaccess文件后,把一些像“1_junk_shopping_blah.html”这样的文件放到谷歌上,并将它们编入索引,使其直接重定向到它们 修复完所有内容后,我注意到www.example.com/1_junk_shopping_blah.html重定向到itemId为1的文章。Joomla显然会去掉前导号码后的所有内容,并将其

我的Joomla网站因为去年12月的漏洞而遭到黑客攻击。这使得谷歌将其标记为一个危险的网站。不太好

我把它清理干净,并向谷歌报告我已经这样做了

黑客们在编辑了我的htaccess文件后,把一些像“1_junk_shopping_blah.html”这样的文件放到谷歌上,并将它们编入索引,使其直接重定向到它们

修复完所有内容后,我注意到www.example.com/1_junk_shopping_blah.html重定向到itemId为1的文章。Joomla显然会去掉前导号码后的所有内容,并将其用作有效的url。谷歌认为我仍然有在线垃圾邮件,我的网站仍然被标记为恶意

我试图在另一个未被黑客攻击的Joomla网站上放置类似的URL,它以相同的方式重定向,因此这似乎不是黑客攻击造成的问题,而是Joomla设置方式的问题

为什么Joomla重定向不正确的URL?我怎样才能解决这个问题?如果有必要,我可以编辑Joomla的核心,但我需要一些指针,以避免弄乱它,而不是修复它。或者我可以把东西放进我的.htaccess里吗

谢谢大家!

通过执行以下步骤检查站点上的恶意软件
  • 而不是在Joomla文件中查找所有未经授权的修改。 在清除站点的可疑代码之后(或之前更好!), 更改所有密码,无论是FTP、MySQL还是SMTP身份验证
    (站点->配置->服务器->邮件)
    和管理层 面板 用于从URL中删除ID
  • 我建议使用第三方扩展,因为它更容易防止难看的URL。

    我用模板中的一些PHP代码“解决”了这个问题,我在引号中加上了“解决”,因为它并不完美。它将阻止具有前导数字的有效URL。。我们的一位客户实际上有一篇文章的标题是以数字5开头的,所以在他们的情况下,这是行不通的。。但在另一个被标记为恶意的网站上,它工作得非常好,因为它们所有的标题一开始都是字母顺序的

    在你的模板下面的限制访问线(所有好的模板都应该有这个)。。下面的代码将检测url是否以前斜杠开头,后跟数字,如果是,则设置404标题并重定向到我知道不存在的实际页面,以显示404页面

    正如您可能想象的那样,如果您有一个以“4”开头的自定义404,这可能会导致一个无限循环,所以它也是。。不完美。我写这篇文章只是为了解决他们眼前的问题

    if (preg_match("#^/[0-9]#", $_SERVER['REQUEST_URI'])) {
        header("HTTP/1.0 404 Not Found");
        header("Location: /page-not-found");
    }
    

    感谢您提供恶意软件检查等的指针,但我的问题不是使用站点时ID在URL中,而是任意地址重定向到文章而不是给出404。我已经解决了这个问题,部分原因是删除了谷歌列为“URL注入”的带有ID的文章,并用新ID重新创建了这些文章。这个问题也张贴在这里