escape in ABAP and JavaScript
ABAP
IF_HTTP_UTILITY~ESCAPE_URL
JavaScript
开源的sanitizer库,Google搞的。
https://www.npmjs.com/package/sanitizer
sanitizer.escape('your dirty string');
用于C4C:
在Java里使用这个JS library:
public class CajaSanitiser { private final ScriptEngine engine; private final Bindings bindings; public CajaSanitiser() throws IOException, ScriptException { this.engine = new ScriptEngineManager().getEngineByName("js"); this.bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE); String scriptName = "com/google/caja/plugin/html-css-sanitizer-minified.js"; try (BufferedReader reader = getReader(scriptName)) { engine.eval(reader); } String identity = "function identity(value) {return value;}"; engine.eval(identity); } private BufferedReader getReader(String name) { return new BufferedReader(new InputStreamReader( getClass().getClassLoader().getResourceAsStream(name))); } public String sanitise(String htmlSource) throws ScriptException { bindings.put("src", htmlSource); // You can use other functions beside 'identity' if you // want to transform the html. // See https://code.google.com/p/google-caja/wiki/JsHtmlSanitizer return (String) engine.eval("html_sanitize(src, identity, identity)"); } public static void main(String[] args) throws Exception { CajaSanitiser sanitiser = new CajaSanitiser(); String source = "<html>\n" + "<head>\n" + "<style>\n" + "h1 {color:blue;}\n" + "</style>\n" + "</head>\n" + "<body>\n" + "<h1>A heading</h1>\n" + "</body>\n" + "</html>"; System.out.println("Original HTML with CSS:"); System.out.println(source); System.out.println(); System.out.println("Sanitised HTML:"); System.out.println(sanitiser.sanitise(source)); } }
Maven dependency:
<dependencies> <dependency> <groupId>caja</groupId> <artifactId>caja</artifactId> <version>r5127</version> </dependency> </dependencies>
本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Hybris DDIC type and its counterpart model class
在ABAP里,我们在SE11里面创建data type或者transparent table, 然后在ABAP代码里可以直接消费这些DDIC object.而Hybris是基于Java的,大家知道在Java里除了primitive type如int, boolean这些一样,万物皆对象. 数据类型是一个Java Class,而这些数据类型具体的item(transaction data)就是Java Class的一个个实例:every object stored in SAP Hybris Commerce is an instance of a type. 例子:我在catalog这个extension里定义了一个data type catalog, 里面有个字段id: 那么用ant clean all build之后,会自动在这个folder下面生成对应的Model class, 遵循naming convention Model.java: 生成的Model class - 这种套路在ABAP里随处可见了,比如我们在SEGW里做Odata model,然后直接激活生成DPC MP...
- 下一篇
手把手用Python网络爬虫带你爬取全国著名高校附近酒店评论
/1 前言/ 简介:本文介绍如何用python爬取全国著名高校附近的酒店点评,并进行分析,带大家看看著名高校附近的酒店怎么样。 /2 具体实现/ 具体的实现主要是分为三步,具体的操作过程如下。 一、抓取高校附近的酒店信息 由于电脑客户端的美团酒店没有评论信息,于是我从手机端的网页入手,网页地址为:https://i.meituan.com/awp/h5/hotel/search/search.html 通过搜索北京大学附近的酒店,抓包找到了返回酒店json信息的url。 其中,limit代表返回酒店的最大数量(经测试,limit最大为50),offset为每次返回酒店数量的起点,cityId为城市的标志,在网页信息中可以找到,时间参数可以修改,sort为返回酒店信息的排序,sort=distance代表按距离搜索,q和keyword都是大学名称。 返回的数据如下图所示: 包含酒店的名字、地理位置、评分、realPoiId(相当于酒店的身份证号,后面爬评论用的到)、酒店和大学的距离等信息。 下面我们开始爬排名前10高校附近的酒店信息(不要在乎大学排名,我乱找的,以学习为主): (图片来源...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Thymeleaf,官方推荐html解决方案