HTML和JavaScript,Json=如何以及何时按照哪个顺序进行编码
HTML and JavaScript and Json = How and when to encode in which order?
我的过程如下所示:
1.) Server: Encode the content as HTML (=using StringEscapeUtils from apache commons)
2.) Server: Encode the content as JavaScript (=using StringEscapeUtils from apache commons)
3.) Server: Marshall via Jackson JSON library
4.) Transfer via JSON
5.) Client display via JQuery in the webpage (via the $ajax() call)
以上过程正确吗?首先是HTML编码,然后是JavaScript编码?
我必须对内容进行JavaScript编码吗?据我所知,Jackson将正确地对内容进行编码,Jquery是否足够安全,可以解析甚至不安全的JavaScript内容?所以我可以删除JavaScript编码,这是正确的吗?
非常感谢!Markus
您嵌入了什么?
如果您要嵌入的是嵌入JavaScript中的HTML中的纯文本,例如document.write("your text here")
,那么您需要在JS编码之前进行HTML编码。
如果您要嵌入的是嵌入在JavaScript中的纯文本,嵌入在HTML中,例如<button type=button onclick="alert('your text here')">
,那么您需要按相反的顺序执行。
你可以把它看作一个类型问题。您有一个类型为string<plain_text>
的字符串,当您执行类似"<a ...>" + myPlainTextString + "</a>"
的操作时,您正在尝试附加3个string<html>
的字符串,要正确执行此操作,您需要将纯文本字符串编码/强制转换为string<html>
,这样您所执行的操作就是"<a ...>" + htmlEncode(myPlainTextString + "</a>"
。
通过这种推理,3层嵌入与3层类型铸造完全相同。现在,如果我能说服语言类型的系统设计者为这种事情建立检查就好了:)
相关文章:
- 按顺序添加和删除类
- 从数组中删除重复条目,并在javascript中按顺序排列
- 使用JS按顺序显示图像,而不是随机显示
- 我应该怎么做才能将这个数组从随机更改为在页面刷新时按顺序显示
- 如何按顺序运行gullow任务
- 使用appendChild()动态添加的脚本是按顺序执行还是并行执行
- 按顺序异步加载JS脚本(等待上一个脚本完成)
- 如何在angularjs中按顺序执行多数据ng应用程序
- 按顺序进行远程数据库访问
- 要按顺序执行的异步代码
- 使用jquery队列按顺序淡入任意数量的文本行
- tabindex按顺序进行,如果在中心遗漏了什么,则转到tabindex 1
- 使函数按顺序运行[Node JS]
- 如何设置箭头键以按顺序浏览
标记
- 按顺序执行导入的 Javascript 函数
- 使用 Slick 使一系列照片在网页上按顺序淡入淡出
- 批次图 在 X 轴上按顺序显示不同年份的数据
- 遍历 DOM 按顺序离开
- 由 JavaScript 控制的 CSS3 单向转换在按顺序添加/删除类时不起作用
- 如何在函数中使用何时按顺序发送文件上传,这也是一个延迟承诺