我做了研究,但找不到任何有用的东西
我遇到了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]
我怀疑我创建的上述规则不正确。请指教。
提前致谢。
答案 0 :(得分:2)
你不能通过这样的mod_rewrite进行这种修改。它只关注实际的URL,而不是GET参数。您应该在已执行的PHP脚本中处理这些内容。
其他选项是使用RewriteCond
添加%{QUERY_STRING}
,RewriteRule
(与%1
相比)能够使用GET参数。然后,您可以在%2
的替换部分中使用RewriteRule
,$1
,...而不是$2
,RewriteCond %{QUERY_STRING} \.\./
RewriteRule phpThumb\.php$ images/unknown.gif [L]
,...
这样的事情:
{{1}}