$_SERVER['PHP_SELF']はそのままだと危険なので、
$_SERVER['SCRIPT_NAME']が良いといろんなサイトで言われていますが、
htmlspecialcharsでエスケープすると良いとも言われています。
$_SERVER['SCRIPT_NAME']はCGI版では利用できないということから下記のコードを書いてみました。
また、$_GETパラメーターを継承させたいと思い、そのコードも入れています。
何かご教授いただければと思います。
-----------------------------------------------------------------
>||
<?php
////////////////////////////////////////////////
function h($text, $charset = null) {
if (is_array($text)) {
return array_map('h', $text);
}
if (empty($charset)) {
$charset = 'UTF-8';
}
return htmlspecialchars($text, ENT_QUOTES, $charset);
}
/////////////////////////////////////////////////
$get = '';
foreach($_GET as $key => $value){
if(!$get){
$get .= '?';
}else{
$get .= '&';
}
$get .= h($key) . '=' . h($value);
}
echo $_SERVER['SCRIPT_NAME'] . $get;
echo '<br />';
echo h($_SERVER['PHP_SELF']) . $get;
?>
||<
コメント(0件)