開放式論壇與聊天室面臨惡意用戶嵌入 HTML/Script 標籤破壞頁面結構或注入惡意碼的風險。最直接有效的防禦是將輸入中的 <、> 轉義為實體碼 <、>,使瀏覽器以純文字顯示而非解析執行。
StringBuffer 預留空間 (長度+6 緩衝)。< 追加 <,遇到 > 追加 >,其餘字元直接追加。public String htmlFilter(String inputString) {
if (inputString == null || inputString.length() == 0) return inputString;
StringBuffer str = new StringBuffer(inputString.length() + 6);
for (int i = 0; i < inputString.length(); i++) {
char c = inputString.charAt(i);
if (c == '<') str.append("<");
else if (c == '>') str.append(">");
else str.append(c);
}
return str.toString();
}
此函數可直接整合於論壇發文、聊天發言處理流程,有效阻斷 XSS 攻擊向量與版面破壞行為,是 Web 應用輸入過濾的基礎防線。