シナリオ:
を置き換えたいのですが、「&」文字はそのままに" ' < >
しておきます。" ' < >
私が扱っている文字列は URL であり、URL パラメーターを&
ではなくで区切る必要があります&
。
解決例:
$url = "/some/path?a=123&b=456"; // from $_SERVER["REQUEST_URI"];
$url = htmlspecialchars($url, ENT_QUOTES, 'ISO-8859-1', true);
$url = str_replace('&','&',$url);
質問:
$url
自分のページ ( echo $url;
HTML や JavaScript 内など)で使用すると、XSS によって悪用される可能性がありますか?
類似の質問:
XSS & をカバーする SO に関する他の投稿がありますが
htmlspecialchars()
、「&」文字 (およびそれが許可する可能性のある htmlentities) が XSS にさらされる可能性があるかどうかについての答えが見つかりません。