例如使用這個代碼<?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
例如使用這個代碼<?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
簡單的解決辦法:
<?php echo str_replace('http://', '', $_GET['i']); ?>
嘗試
<?php
$GET = $_GET['i'];
$remove = array("http://", "https://");
$redirect = str_replace($remove, "", $GET);
?>
www.url.com/<?php echo $redirect; ?>
沒關係,試試這個,
$uri = preg_replace("/^(http\:\/\/|https\:\/\/)$/", "", $_GET[i]);
echo $uri;
除了更換爲其他人所說的,你應該使用urlencode()
以避免XSS vulnerability。
echo urlencode(str_replace(array('http://', 'https://'), '', $_GET['i']));
什麼是'$ _GET ['i']'? – 2012-03-16 11:01:09
$ _GET ['i'] – MrAztek 2012-03-16 11:02:01
http://en.wikipedia.org/wiki/Cross-site_scripting#Non-persistent – 2012-03-16 11:03:20