.htaccess删除PHPthumb中的部分URL

时间:2011-11-30 13:09:21

标签: php regex .htaccess mod-rewrite zend-framework

我做了研究,但找不到任何有用的东西

我遇到了phpthumb的问题,

http://localhost/sandbox/public/PhpThumb/phpThumb.php?src=../../../../../../../../../etc/passwd&w=140px&h=120px&q=100

我需要替换../继续src。基本上删除所有../ occrunces。或者重定向到错误页面。我更喜欢两者。

RewriteRule ^(.*)phpThumb\.php?(src)?(=)?(\.\.\/)*$ images/unknown.gif [NC] 

我怀疑我创建的上述规则不正确。请指教。

提前致谢。

1 个答案:

答案 0 :(得分:2)

你不能通过这样的mod_rewrite进行这种修改。它只关注实际的URL,而不是GET参数。您应该在已执行的PHP脚本中处理这些内容。

其他选项是使用RewriteCond添加%{QUERY_STRING}RewriteRule(与%1相比)能够使用GET参数。然后,您可以在%2的替换部分中使用RewriteRule$1,...而不是$2RewriteCond %{QUERY_STRING} \.\./ RewriteRule phpThumb\.php$ images/unknown.gif [L] ,...

这样的事情:

{{1}}