我开始制作 JSP 表单 portlet,但有两个疑问。
1)
我制作了一个结构和相应的模板,并用它创建了几个网页内容。
现在我正在创建一个 JSP portlet 来显示 Web 内容,我使用 JournalArticleLocalServiceUtil.getStructureArticles()
获取所有内容,但每当我添加更多内容时,它都会自动出现在 Live 和 Staging 中而不仅仅是出现在舞台上。
我该如何解决这个问题?
2) Liferay 是否会自动清理所有输入以防止 SQL 注入(inject)和 XSS 攻击?
谢谢。
最佳答案
1) 如果您始终使用相同的 groupId
,您将始终获得相同的内容:实时站点和登台站点具有不同的组 ID。您通常会使用“当前”groupId,这意味着在暂存时使用暂存组,在实时时使用实时组 ID。
2) Servicebuilder 通常不会受到 SQL 注入(inject)的影响,除非您手动构建 SQL 查询。由于脚本内容有一些合法用途,因此您必须自己确定转义用户生成内容的级别,Liferay 为 HtmlUtil
类提供了各种转义方法。选择您需要的。对于一般用途,例如要清理 WebContent、博客等,您可能需要从 Liferay 的 Marketplace 部署 AntiSamy 插件
关于java - 如何区分 JSP portlet 上的暂存和实时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036461/