데이터베이스에서 값을 출력하고 있습니다 (실제 공개 공개는 아니지만 회사의 사용자가 공개 할 수 있습니다-즉, XSS 에 대해 걱정하지 않습니다 ).
다음과 같은 태그를 출력하려고합니다.
<a href="" onclick="DoEdit('DESCRIPTION');">Click Me</a>
DESCRIPTION은 실제로 다음과 같은 데이터베이스의 값입니다.
Prelim Assess "Mini" Report
"를 \"로 바꾸려고했지만 아무리 노력해도 Firefox는 Assess 라는 단어 뒤에 공백이 있으면 JavaScript 호출이 계속 끊어 지므로 모든 종류의 문제가 발생합니다.
나는 분명한 답을 그리워해야하지만 내 인생에서 나는 그것을 알아낼 수 없다.
내 바보를 지적하는 사람이 있습니까?
여기에 전체 HTML 페이지가 있습니다 ( ASP.NET 페이지가 될 것입니다. 그러나이 문제를 해결하기 위해 문제 코드 이외의 다른 것을 모두 제거했습니다)
<html>
<body>
<a href="#" onclick="DoEdit('Preliminary Assessment \"Mini\"'); return false;">edit</a>
</body>
</html>
onclick
이벤트 첨부 파일을 눈에 잘 띄지 않게 만들고 모든 데이터베이스 정보를 데이터 섬으로 옮기는 것이 좋습니다 . 상황이 더 깨끗 해지고 문자열이 잘못 이스케이프되면 실제로 일종의 구문 오류가 발생합니다.