将Active Content Filtering用于Project Zero和WebSphere sMash应用程序的安

ACF 简介

作为 ACF 入门的一部分,您必须先理解什么是 Project Zero。如 下内容摘自 Project Zero Web 站点:

“Project Zero 是 IBM 内部发起 的一个孵化器项目,侧重于下一代动态 Web 应用程序的敏捷开发。Project Zero 引入 了一种简单的环境,这种环境支持基于流行的 Web 技术创建、组装和执行应用程序。 Project Zero 环境包括一个面向 Groovy 和 PHP 的脚本运行时,并且具有应用程序编 程接口,这些接口针对 REST 风格服务、集成 mashup 和富 Web 接口的生成进行了优化 ”。

Project Zero 主要针对的是一下代动态 Web 应用程序(通常归类为 Web 2.0),本 文侧重于交互式 Web 应用程序,这些应用程序可能会包含用户提供的内容,比如 mashup、wiki 和 blog。为了支持这些应用程序,Project Zero 提供了 ACF 库,应用 程序开发人员可以将其包括在 Zero 应用程序内。ACF 让开发人员能够避开经常在这类 应用程序出现的跨站点脚本等问题。

关于示例

作者留言:初次写完本文 时,应用程序开发人员必须通过声明方法(在应用程序的 zero.config 中定义显式规则 )或编程方法(使用提供的 API)来利用 ACF。根据 Project Zero 社区和本文读者反 馈的信息,开发团队为以下场景提供某些默认级的 ACF 保护(要求将 zero.acf 添加为 依赖项):

请求参数:从所有发送到 URI 的入站请求参数中删除活动内容(比 如 JavaScript、Applet 和 ActiveX)。这些参数被看作是 HTML 片段。

JSON 内容请求:从发送到 URI 的入站 JSON 对象的所有 String 值中删除活动内容 。在这种情况下,已经指定所有内容的类型。

JSON 内容响应:从 URI 发送的出 站 JSON 对象的所有 String 值中删除活动内容。在这种情况下,已经指定除 “text/html” 以外的所有内容类型。

要取消默认的 ACF 启用,下 面的配置选项包含了示例应用程序的 zero.config"/config/acf/enableByDefault=false"。因为在某些情况下默认启用有可 能不能满足应用程序的要求,本文将把焦点集中在通过声明和编程方法利用 ACF。在适 当的时候,本文将解释通过默认标志利用启用的各个小节。

本文提供的示例旨在 借助由简到难的用例充分展示 ACF 。这些示例均构建在之前的示例之上。如下是这些示 例的一个摘要,每个示例会在随后的章节详细加以介绍:

示例 1 是一个很基本 的、启用了 Ajax 的页面,它允许用户评论从外部接收的文章。这个示例展示了在用户 评论或文章中包含活动内容时(比如 JavaScript)发生的情况。

示例 2 构建在示例 1 的基础上,并包含对 ACF 库的支持。这个示例展示了在文章 中包含活动内容(比如 JavaScript)时 ACF 过滤功能如何工作。

示例 3 构建 在示例 2 的基础上,但支持使用 ACF 过滤请求参数这个功能。这个示例展示了当用户 评论中包含活动内容 — 比如 JavaScript — 时 ACF 过滤功能如何工作。

时间: 2024-09-12 23:06:08

将Active Content Filtering用于Project Zero和WebSphere sMash应用程序的安的相关文章

用Flickr API扩展Project Zero和WebSphere sMash的脚本平台

开放 Flickr API 让您可以将元素整合到 Project Zero 应用程序中 Flickr 照片共享服务是当今最流行的 Web 应用程序之一.它提供了具备优秀社会性网络的健壮托管服务,让上载.组织和寻找照片变得异常简单.这一切都很棒,但从一个开发者的角度来看,Flickr 最让人着迷的部分是其用来读写照片数据的公共 API.您可以借助任何编程语言通过 HTTP 发送 API 请求,而且现在也有很多开源项目涌现出来,可以针对各种语言封装此 API .在本文中,您将了解如何通过提供可在 P

使用Google Charts、Ajax和Project Zero(WebSphere sMash)创建精巧的mashup

Zero 通过集成 Groovy 脚本编制简化创建过程 开始之前 本文假设您已经下载了 Project Zero M4,并使用它创建过一个或多个应用程序.您需要对 Groovy 脚本编制.Ajax 技术和 HTML 有基本的理解,这些内容可以通过 Zero 的教程和示例获得. 简介:Google Charts API Google Charts 是一个非常出色的服务,它让开发人员可以使用简单的 HTTP GET 请求来生成图形和图表.客户机发送请求到 http://chart.apis.goog

面向企业的云计算:第2部分:Amazon EC2 公共云上的 WebSphere sMash 和 DB2 Express-C

本系列文章的第1部分讨论了云计算的基本方面,包括云的层和不同的云类型及其优缺点,并解释了为何了解云对企业开发人员很重要.本文主要考察公共云,以及如何使用 IBM® WebSphere® sMash 和 IBM DB2® Express-C Amazon Machine Images (AMI) 交付宿主在 EC2 公共云基础设施上的 Web 应用程序. 简介 在 3 种类型的云中 -- 公共云.私有云和混合云 -- 公共云提供的产品是最出色.最成熟的.可访问性和廉价性是导致公共云日趋流行的两个关

在WebSphere sMash中使用Dojo开发Ajax的Web应用程序

开始之前 本文假设您已经下载了 WebSphere sMash 并且完成了简明教程的学习,或者曾经写过简单的应用程序.您应该熟悉 Ajax 的基本原理和 Dojo 的相关使用方式. 你还需要具备以下先决条件来完成本文的示例应用程序: JDK 5.0 或更高版本. WebSphere sMash 1.0.0.4 或更高版本的命令行环境. 通畅的网络连接来连接 SMTP 邮件服务器. Firefox 3.0 用于启动 AppBuilder AppBuilder 现在是 WebSphere sMash

在WebSphere sMash中集成Java和PHP

引言 本文说明如何使用 Java Bridge 从 PHP 访问 Java 类.其中将讨论如何调用 Java 方法和访问字段(实例和静态字段).另外还将讨论异常处理及 PHP 和 Java 之间的类型转换. ZSL.WebSphere sMash 和 Apache Lucene 有关真实示例,本文逐步说明了使用 PHP 编写的简单搜索引擎的创建工作,此引擎可使用 Apache Lucene 建立文件索引和进行搜索.Apache Lucene 是一个高性能的全功能文本搜索引擎库,完全使用 Java

3D编程:Texture Filtering

Texture Filtering 在讨论纹理坐标和采样时,你可能已经注意到了,没有一种纹理映射object能够做到使纹理图上的元素与渲染到屏幕上的像素之间一一对应.Camera位于textured object任意的位置,并从任意的角度观看.想像下这种情形,camera相对textured object进行放大,Rasterizer阶段确定哪些pixels会发送到pixel shader中,并对纹理坐标进行插值计算,此时纹理坐标表示的位置在纹理中的元素之间.换句话说,就是以比纹理图片本身分辨率

MS Active Accessibility接口技术编程尝试

Microsoft Active Accessibility 2.0 is a COM-based technology that improves the way accessibility aids work with applications running on Microsoft Windows?. It provides dynamic-link libraries that are incorporated into the operating system as well as

DB2 Content Manager V8.3 Portlets V3.1简介

与以前的DB2 Content Manager V8.2 Portlet版本相比,IBM DB2 Content Manager V8.3 Portlets V3.1提供了许多新特性和显著的改进.它还被扩展为使用DB2 Content Manager V8.3服务器提供的服务,从而支持更高级的用户功能和更丰富的数据模型.本文通过示例帮助您熟悉 DB2 Content Manager V8.3 Portlets V3.1,包括使用场景.安装过程和有助于部署的配置.还会对DB2 Content Ma

The Apache Software Foundation Announces Apache® Zeppelin™ as a Top-Level Project

刚刚收到Zeppelin创始人moon soo Lee发给Zeppelin User group的邮件,说zeppelin已经从孵化器毕业,顺利升级为apache顶级项目.以后介绍zeppelin可以去掉incubator了.ASF官方声明:https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces92 原邮件如下: Congratulations and thank you everyon