在apache的path中拒绝带有父..的URL

我想知道是否有一个简单的方法,使Apache HTTPD拒绝(403)任何包含一个父path的URL ..

到目前为止,我已经尝试过(忽略了简单的积极因素)

 <LocationMatch "\.\."> Order allow,deny Deny from all </LocationMatch> 

但是这没有用。 目录中有Allow from all 。 我是在正确的轨道还是有一个更简单的方法来做到这一点(就像在90年代Fasttrack一样)。

我会通过使用ModSecurity来做到这一点:

 SecRule REQUEST_URI "../" "log,deny,msg:'Directory Traversal Attack Detected'" 

testing一些请求:

 http://domain.com/../../../../etc/passwd 

并检查审计日志,你会看到这样的事情:

[modsecurity] [client xxxx] [domain domain.com] [302] [/20120816/20120816-1529/20120816-152911-1np2Nn8AAAEAA Aq6EU0AAAAG] [file "/etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf"] [line "305"] [msg "Directory Traversal Attack Detected"] Access denied with code 403 (phase 2). Pattern match "../" at REQUEST_URI.