【问题标题】:.htaccess - preventing part/full RewriteRule acting into a subfolder.htaccess - 防止部分/全部 RewriteRule 作用于子文件夹
【发布时间】:2014-05-23 23:46:49
【问题描述】:

我的网站根目录上有一个 .htaccess,其中包含许多出于安全目的的 RewriteRule 条件。例如,其中之一如下:

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(md5|benchmark|cast|request|select|insert|union|declare|drop).* [NC] 
RewriteRule ^(.*)$ - [F,L]

我想允许md5|benchmark 进入一个子文件夹,并允许以下全部内容进入另一个子文件夹:

RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]

如何取消部分或整个 RewriteRule ?

【问题讨论】:

    标签: .htaccess security mod-rewrite url-rewriting subdirectory


    【解决方案1】:

    /subfolder1/.htaccess有这个规则:

    RewriteEngine On
    
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(cast|request|select|insert|union|declare|drop).* [NC] 
    RewriteRule ^ - [F,L]
    

    /subfolder2/.htaccess中有这个规则:

    RewriteEngine On
    
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(md5|benchmark|cast|request|select|insert|union|declare|drop).* [NC] 
    RewriteRule ^ - [F,L]
    

    【讨论】:

      猜你喜欢
      • 2017-02-01
      • 2023-03-08
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2014-03-17
      相关资源
      最近更新 更多