2012-03-16 70 views
-2

例如使用這個代碼<?php echo $_GET['i']; ?像本實施例中

www.url.com/<?php echo $_GET['i']; ?> 

的用戶提交的像http://stackoverflow.com鏈接,並最終表示www.url.com/http://stackoverflow.com

IM所以我想能夠忽略「http://」只顯示

www.url.com/stackoverflow.com

+0

什麼是'$ _GET ['i']'? – 2012-03-16 11:01:09

+0

$ _GET ['i'] – MrAztek 2012-03-16 11:02:01

+0

http://en.wikipedia.org/wiki/Cross-site_scripting#Non-persistent – 2012-03-16 11:03:20

回答

0

簡單的解決辦法:

<?php echo str_replace('http://', '', $_GET['i']); ?> 
0

嘗試

<?php 
$GET = $_GET['i']; 
$remove = array("http://", "https://"); 
$redirect = str_replace($remove, "", $GET); 
?> 

www.url.com/<?php echo $redirect; ?> 
1

沒關係,試試這個,

$uri = preg_replace("/^(http\:\/\/|https\:\/\/)$/", "", $_GET[i]); 
echo $uri; 
0

除了更換爲其他人所說的,你應該使用urlencode()以避免XSS vulnerability

echo urlencode(str_replace(array('http://', 'https://'), '', $_GET['i'])); 
相關問題