使用 .htaccess 要求查询参数中键的最小长度

问题描述 投票:0回答:1

URL 的查询参数的键应该具有最小长度,例如6 个字符,可接受。这应该通过 .htaccess 过滤。

正确的 URL 示例:

https://example.com/blogs/?thisisalongkey=134234

密钥太短的 URL 示例 - 应停止:

https://example.com/blogs/?shkey=134234

是否可以只检查密钥的长度?

我已经在 .htaccess 中尝试过此操作,但它不起作用,而且长键也是“坏”键并停止了。

RewriteCond %{QUERY_STRING} ^[a-z][a-z0-9]{1,5} [NC]
RewriteRule ^ - [F]
apache .htaccess mod-rewrite
1个回答
0
投票

好的,搜索正则表达式和“限制字符串长度”有助于找到正则表达式模式,用于检查长度是否在设定范围内。

并且检查key的长度只需要将key和value分开,用=分隔即可。

这些 .htaccess 行有效 = 如果...则返回 403

  • 要检查的长度key是第一个参数
  • 密钥中只有 \w 字符
  • 该密钥长度为 1 到 5 个字符
RewriteCond %{QUERY_STRING} ^(\w{1,5})=(.*)$ [NC]
RewriteRule .* - [F,L]
© www.soinside.com 2019 - 2024. All rights reserved.