fix: 투자앱 차트 링크 onclick/텍스트 이스케이프 처리 (XSS 방지)
This commit is contained in:
@@ -732,14 +732,14 @@ function renderMdSafe(text){
|
||||
const parts=body.trim().split('|');const code=parts[0].trim().replace(/\D/g,'');const period=(parts[1]||'day').trim().toLowerCase();
|
||||
if(!code)return m;
|
||||
const ph=`\x00CHART${charts.length}\x00`;
|
||||
charts.push(`<span class="iv-chart-link" onclick="loadKStock('${code}','${code}','${period}')">📈 ${code} · ${period} 차트 보기</span>`);
|
||||
charts.push(`<span class="iv-chart-link" onclick="loadKStock('${escAttr(code)}','${escAttr(code)}','${escAttr(period)}')">📈 ${escHtml(code)} · ${escHtml(period)} 차트 보기</span>`);
|
||||
return ph;
|
||||
})
|
||||
.replace(/```tradingview\s*\n([^`]+?)\n```/g,(m,body)=>{
|
||||
const parts=body.trim().split('|');const sym=parts[0].trim().toUpperCase();const iv=(parts[1]||'D').trim().toUpperCase();
|
||||
if(!sym)return m;
|
||||
const ph=`\x00CHART${charts.length}\x00`;
|
||||
charts.push(`<span class="iv-chart-link" onclick="loadTV('${sym}','${iv}','${sym}')">📈 ${sym} · ${iv} 차트 보기</span>`);
|
||||
charts.push(`<span class="iv-chart-link" onclick="loadTV('${escAttr(sym)}','${escAttr(iv)}','${escAttr(sym)}')">📈 ${escHtml(sym)} · ${escHtml(iv)} 차트 보기</span>`);
|
||||
return ph;
|
||||
});
|
||||
// HTML escape
|
||||
|
||||
Reference in New Issue
Block a user