2014-10-06 41 views
1

我想动态加载HTML内容,例如通过AJAX调用更新Bootstrap的模式对话框内容(因为刷新页面并再次显示模式很奇怪),但在我做之前那我想知道什么风险这样做时我需要关注以及可能的解决方案。通过HTTPS在AJAX调用中返回HTML内容的风险

这样做的主要原因是我正在开发Liferay的portlet,并且希望动态更新我的portlet的内容而不刷新整个页面。

当然,我可以从我的服务器到客户端返回JSON数据,但我会写复杂的客户端逻辑来更新DOM,其中的逻辑是,比方说可能做更容易,JSP

假设该Web应用程序仅HTTPS,不知道这是否有助于任何事情。

回答

1

基于Web应用程序仅为HTTPS的假设,让所有的AJAX调用也使用它是非常好的。这不会违反混合不安全和安全的连接,以及浏览器给出的警告对话框。

如果HTML的某些部分是在其他地方生成的,或者部分是基于未经验证的用户输入,则唯一的风险可能是由跨站点脚本引起的。

解决方案是始终验证和清理来自其他来源的输入。关于这方面的更多信息可以在这里找到:https://www.owasp.org/index.php/Data_Validation

0

也许你选择了错误的框架的工作,并会考虑像客户端渲染,你会将json数据绑定到视图(例如:angular,ember,backbone或击倒)

考虑使用Element.innerText$(Elm).text(),而不是Element.innerHTML$(elm).html()时可能

也许这将是编码的用户可以更改你将它保存到数据库或当你渲染前的一切是个好主意观点

但是如果你这样做让一些HTML,你需要用witelist approtch严格允许的标签&属性

唯一diffrence与HTTP和HTTPS协议的sanitize插件,这将是非常困难的man-in-the-middle attack阅读/拦截/更改请求的内容&响应