You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止网站URL后附加恶意参数的异常访问?

阻止含特定无意义参数的网站异常访问

服务器层面拦截(最直接高效)

Nginx 配置

在你的Nginx站点配置的server块中添加以下规则,匹配到指定参数直接返回403禁止访问:

# 拦截ved、ea、fwr、region、crui这类无意义参数
if ($args ~* "(ved|ea|fwr|region|crui)=") {
    return 403;
}

配置完成后重启Nginx生效。

Apache 配置

在站点根目录的.htaccess文件(或Apache主配置文件的对应站点块)中添加Rewrite规则:

RewriteEngine On
# 匹配指定参数(不区分大小写),直接拦截
RewriteCond %{QUERY_STRING} (ved|ea|fwr|region|crui)= [NC]
RewriteRule ^ - [F,L]

[NC]表示不区分参数大小写,[F]返回403状态码,[L]表示停止执行后续规则。


应用层代码拦截(适合需要更灵活逻辑的场景)

如果你的网站是自定义开发的,可以在入口文件里添加参数检查逻辑:

PHP 示例

在站点入口文件(如index.php)最顶部加入:

$blockedParams = ['ved', 'ea', 'fwr', 'region', 'crui'];
foreach ($blockedParams as $param) {
    if (isset($_GET[$param])) {
        http_response_code(403);
        exit('Forbidden');
    }
}

Python Flask 示例

在Flask应用中添加请求前置钩子:

from flask import request, abort

@app.before_request
def block_invalid_params():
    blocked_params = {'ved', 'ea', 'fwr', 'region', 'crui'}
    # 检查请求参数中是否包含被拦截的字段
    if blocked_params & set(request.args.keys()):
        abort(403)

WAF 拦截(适合多站点或需要更全面防护的场景)

不管是云服务商提供的云WAF,还是开源的ModSecurity这类WAF工具,都可以添加自定义拦截规则:

  • 云WAF:在控制台的自定义规则中,设置“URL参数包含指定关键词”的规则,匹配ved/ea/fwr/region/crui,触发动作选择“拦截”。
  • ModSecurity:添加如下规则到配置文件:
SecRule ARGS_NAMES "@rx (ved|ea|fwr|region|crui)" "id:1000,phase:2,deny,status:403,msg:'Blocked invalid parameter'"

注意事项

  • 上线前先自行测试:手动在URL后添加这些参数,确认请求被正常拦截且不影响正常访问。
  • 如果后续出现新的无意义参数,直接在规则里补充对应的关键词即可。

内容的提问来源于stack exchange,提问作者Ral AMORES GONZLEZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 14:56:12