如何在没有 404 的情况下将不良/恶意软件流量重定向到主页



我正在运行Prestashop网站(从有错误的Joomla移动),并且有很多可疑/不良/恶意软件尝试来检查我的页面安全性 ->找不到页面统计信息页面。有很多Joomla和Wordpress文件/目录尝试。

我有手动重定向器,例如

<?php
    $redir_maps = array(
        '/administrator' => '/',
        '/wp-admin' => '/',
    );
    if(in_array(@$_SERVER['REQUEST_URI'], array_keys($redir_maps))){
        header("HTTP/1.1 301 Moved Permanently"); 
        header("Location: ".$redir_maps[@$_SERVER['REQUEST_URI']]);
        exit;
    }
?>

而且效果很好!但是如何扩展它以捕获所有变量

/index.php?option=com_???某种正则表达式? (Joomla Component)要防止此类链接并将其重定向到/,请执行以下操作:

/index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&method=form&cid=20&6bc427c8a7981f4fe1f5ac65c1246b5f=cf6dd3cf1923c950586d0dd595c8e20b

您没有使用 SEF 链接?这将损害您在搜索引擎中的排名。您当前的重定向脚本不会捕获访问管理页面的所有尝试 - 例如in_array()不会匹配/administrator/index.php,因为匹配必须是精确的($_SERVER['REQUEST_URI']返回路径、查询和片段)。

您可以使用 JURI::getQuery() 获取选项查询,然后进行测试以查看它是否与您网站上的组件匹配以允许它。或者,如果您使用的是 Apache,请在您的.htaccess中执行正则表达式,它将通过 Web 服务器使用系统上更少的资源,因此恶意方不会耗尽您的资源。

在 # ~~start~~ 之前将此添加到您的 .htaccess 中 不要删除此注释

RewriteEngine on 
RewriteRule ^wp-admin/.+$ index.php [L,R=301]
RewriteRule ^administrator/.+$ index.php [L,R=301]
RewriteRule ^.+?.*option=com_.+$ index.php [L,R=301]

最新更新