場景:XSS:REQUEST_URI運行htmlspecialchars() - 然後用&替換&足以防止XSS注入?
我想換成:" ' < >
與" ' < >
但保留 「&」 字。
我正在處理的字符串是一個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()
其他職位,但我不能 找到解決的答案是否「&」 字符(和ヶ輛它可能 允許)可以將您暴露給XSS。
從用戶數據採集的網址是什麼? – 2011-03-17 02:06:08
在我的情況下,URL來自$ _SERVER [「REQUEST_URI」];基本上任何輸入到瀏覽器地址欄的東西。 – 2011-03-17 02:09:25