搜索

首页  >  问答  >  正文

请教一个nginx的过滤正则

需要在服务器的url过滤掉一些非法字符:

比如 | ; $ @ ' " < > ( ) document LF

因为所有location都需要,所以写在了server下面:

if ($request_uri ~* "##这里怎么写##"){
    return 403;
}

本人正则小白,求高手指点。。。。

大家讲道理大家讲道理2755 天前613

全部回复(2)我来回复

  • PHPz

    PHPz2017-05-16 17:23:23

    建议单字符黑名单和多字符的分两条写
    单字符的:

    if ( $request_uri ~ [|;$@'"<>()] ) {
        return 403;
        }
    

    多字符的:

    if ( $request_uri ~ (document|LF) {
        return 403;
        }

    回复
    0
  • 迷茫

    迷茫2017-05-16 17:23:23

    问题应该在写的清楚一点

    回复
    0
  • 取消回复