设想:
我想替换:" ' < >
使用" ' < >
但保留 "&" 字符。
我正在处理的字符串是一个 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 利用吗?
类似问题:
SO上有其他关于XSS &的帖子,
htmlspecialchars()
但我找不到关于“&”字符(以及它可能允许的htmlentities)是否可以让您暴露于XSS的答案。