前两天发现自己网站莫名其妙的多了一下文件
原文地址:http://bbs.csdn.net/topics/390469279
今早观察了一下这些莫名其妙的HTML文件,终于找到问题所在!!!
原因:
如果开启静态缓存,在静态规则中带有参数,例如
//静态缓存 'HTML_CACHE_ON'=>true, 'HTML_CACHE_RULES'=> array( 'infor:search' => array('home/{:module}/{:action}/{key}'), ),
过来看看,静态缓存用的比较少。
这不是 thinkphp 的 bug
很自然的你要为你自己的行为负责
对于你示例的规则,若 key = ../boot
由 $rule = preg_replace('/{(w+)}/e',"$_GET['\1']",$rule);
可知,被解释成 home/MODULE_NAME/ACTION_NAME/../boot
TP 有什么理由要阻止你把静态文件放在上级目录中?
这不是 thinkphp 的 bug
很自然的你要为你自己的行为负责
对于你示例的规则,若 key = ../boot
由 $rule = preg_replace('/{(w+)}/e',"$_GET['\1']",$rule);
可知,被解释成 home/MODULE_NAME/ACTION_NAME/../boot
TP 有什么理由要阻止你把静态文件放在上级目录中?
我觉得TP应该考虑一下{key}参数的过滤。
如果要过滤,也得是你给规则、写代码
至少类似 http://bbs.csdn.net/topics/390469279/..x 这样的url并不能构成攻击
你不能指望人家把什么都替你做了,毕竟他只是个开发工具。
如果是 dede 出现这种现象,才能说是 bug
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号