如何验证 JavaScript 和 html 代码
How to validate javascript and html code?
在我们的应用程序中,最终用户会提供一个文本框,他们可以在其中粘贴他们的html或javascript代码来创建广告,就像Google广告一样,所以我需要验证这些html和js源代码针对恶意代码以及正确的语法。那么Java中是否有任何API可以做同样的事情呢?
提前致谢阿里。
验证JS客户端只对你的好用户有用 - 因为恶意用户无论如何都可以绕过任何客户端验证代码(通过弄乱应该进行验证的JS)。
在一般意义上验证JS服务器端以查找"恶意"是不可能的,除非您有一个非常严格的白名单要检查。最好在沙盒中执行内容,以防止坏事,并完全避免验证(=在执行之前检查有效性)。
所以,JavaScript沙盒。最常用的可能是Google Caja - 也可以防止不良的HTML/css。沙盒并不容易 - 特别是,Caja 需要一个服务器端部分来"哄骗"文件并保护主机页面;并且需要预先识别哄骗div
之外的主机页面的任何部分。
另请参阅另一个 SO 问题中的一些替代方案。请注意,它们中的许多不允许从受保护的代码进行 DOM 访问,因此对于实际上必须在屏幕上显示内容的 JS 没有用。
如果你搜索它,你可以在互联网上找到很多资源。以下是一些:Java Encoder Project和Java HTML Sanitizer。我从未使用过它们,但这是一个起点。如果你自己做研究,你可以学到很多东西。
编辑:目前还不清楚您正在寻找Java API还是JavaScript API。它们完全不同。
相关文章:
- Javascript html每点击一次就会更改url
- 通过javascript/html访问twitter共享iframe
- 使用鼠标悬停JavaScript/HTML显示文本
- JavaScript-HTML表单到JSON(空值)和格式
- 使用javascript html实时预览文本区域输入
- 如何每秒从一个变量中提取一定次数的javascript/html
- 使用变量值作为'名称标识符'javascript/html
- JavaScript HTML Onclick
- 非侵入性Javascript HTML注入
- AppendChild Form / Table [Javascript/Html/PHP]
- 按钮don't使用onClick-Javascript HTML重定向
- 在库(javascript/HTML)中将“name”替换为“id”
- 如何确定使用 javascript/html 单击了哪个对象/图像
- 新的javascript HTML元素不遵循css规则
- JavaScript/HTML 错误的解决方案
- 从图像URL javascript html保存图像文件
- javascript html使用webstorage保存表单
- Javascript+HTML中的日期选择器准备好了吗?(需要:DD、MM、YY的单独字段加上日历选择器)
- 谷歌地图/融合表Javascript HTML赢得't显示/可视化所有多边形数据(通过色标)
- JavaScript/HTML命令行小部件