Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从字符串中删除点斜杠?_Php - Fatal编程技术网

Php 如何从字符串中删除点斜杠?

Php 如何从字符串中删除点斜杠?,php,Php,我想删除URL字符串中的所有点斜杠,这样用户就没有访问父级目录的权限。我能得到的是。/../../file,下面的方法使用安全吗 $str = '../../../file'; $str = str_replace('..','', ltrim($str,'/')); 编辑:谢谢你的建议和答案,但我也想知道为什么不使用此代码?还不够安全吗?可以利用它吗?您可以像这样使用preg\u replace: $str = '../../../file'; $str = str_replace('../

我想删除URL字符串中的所有点斜杠,这样用户就没有访问父级目录的权限。我能得到的是
。/../../file
,下面的方法使用安全吗

$str = '../../../file';
$str = str_replace('..','', ltrim($str,'/'));

编辑:谢谢你的建议和答案,但我也想知道为什么不使用此代码?还不够安全吗?可以利用它吗?

您可以像这样使用preg\u replace:

$str = '../../../file';
$str = str_replace('../','', $str);
echo $str;
$string = '../../../file';
echo preg_replace("/(\.\.\/)/","", $string);

您可以像这样使用preg_replace:

$string = '../../../file';
echo preg_replace("/(\.\.\/)/","", $string);

我不清楚你的问题,我怀疑你需要重写你的网址。 如果是这样,您可以使用.htaccess文件重写它

RewriteEngine On
RewriteRule ^$ /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /$1
或者您只想从$str中删除子文件夹 您只需使用下面的代码

$str = preg_replace('/..\//', '',  $str); 


我不清楚你的问题,我怀疑你需要重写你的网址。 如果是这样,您可以使用.htaccess文件重写它

RewriteEngine On
RewriteRule ^$ /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /$1
或者您只想从$str中删除子文件夹 您只需使用下面的代码

$str = preg_replace('/..\//', '',  $str); 


我们还可以使用多字符选择:

echo str_replace(array('..', '/'), ' ', $string);

我们还可以使用多字符选择:

echo str_replace(array('..', '/'), ' ', $string);

为什么不使用pathinfo()或basename()?也许realpath()也可以使用。您可以使用pathinfo()。为什么不使用pathinfo()或basename()?也许realpath()也可以。您可以使用pathinfo()。谢谢,但我的方法安全吗?用户能否以我之前没有看到的任何方式利用它?@MagExt您的方法在某些情况下不起作用:例如:“../../../../folder/file”谢谢,但我的方法安全吗?用户能否以我之前没有看到的任何方式利用它?@MagExt您的方法在某些情况下不起作用:例如:“../../../../folder/file”谢谢,但我的方法安全吗?用户能以我以前没有看到的任何方式利用它吗?谢谢,但我的方法安全吗?用户能以我以前没有见过的任何方式利用它吗?