を働いていないことは、私のコードはhtmlspecialchars()またはにhtmlentities()ここで
$currentPage = SITE_URL.'/'.basename($_SERVER['PHP_SELF'])."?".substr($tail,1);
//For example a URL 'http://php.net/docs.php
'
$currentPage = htmlspecialchars($currentPage);
//$currentPage = htmlentities($currentPage);
//I was hoping for a output like this 'http%3A%2F%2Fphp.net%2Fdocs.php '
echo $currentPage; //but I get http://php.net/docs.php again
である私は、マニュアルによると、入力
$ _SERVER ['PHP_SELF']の代わりに$ _SERVER ['SCRIPT_NAME']を使用してください。 $ _SERVER ['PHP_SELF']は、/index.php/someotherpage.phpに行くことで騙されます。それ以外は、他の人たちは言った。 – igorw
@igorw彼はすでにそれを消毒しています –
@Col。 ShrapnelはXSSを防ぎますが、basenameは彼に間違った結果を与えます(例えば 'someotherpage.php'など)。 – igorw