人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

$_SERVER['PHP_SELF']のXSS脆弱性について
$_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;
?>
||<

●質問者: kou32rr
●カテゴリ:インターネット ウェブ制作
✍キーワード:AS CGI echo EMPTY Key
○ 状態 :キャンセル
└ 回答数 : 0/0件

回答がありません
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ