URL上的未知Str_Replace

时间:2011-01-19 19:12:59

标签: php url str-replace

我想了解下面这一行代码:

str_replace('../', '', $route);   

基本上它说'../'

中没有任何内容替换$route
$route = 'information/information&information_id=4';

来自网址'index.php?route=information/information&information_id=4'

但$ route变量中没有../。它是某种正则表达式吗?如果是,它究竟做了什么。多谢你们。

2 个答案:

答案 0 :(得分:4)

你认为它用空字符串替换"../"是正确的。它不是正则表达式。在您的示例中没有出现它,但可能有

它可能用于某种安全性,以防止您从文档根目录恢复目录结构。

答案 1 :(得分:2)

如果字符串中没有../,则不会替换任何内容。这不是一个正则表达式(请参阅preg_replace()。这只是针对某人试图传递无效路径(从../开始)的预防措施,这可能是尝试访问网络服务器文档根目录之外的文件(在换句话说,黑客企图)。