我正在从数据库中输出值(它实际上并不开放给公众进入,但是它对公司用户开放,这意味着我不担心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
事件附件不引人注意,并将所有数据库信息移到数据岛中。事情会变得更干净,当字符串转义错误时,您实际上会遇到某种语法错误。