| <!DOCTYPE> | ||
| <html> | ||
| <head> | ||
| <meta charset="utf-8"> | ||
| <title>Test</title> | ||
| </head> | ||
| <body> | ||
| </body> | ||
| </html> |
| /** | ||
| * @file renderHTML spec | ||
| * @author treelite(c.xinle@gmail.com) | ||
| */ | ||
| var path = require('path'); | ||
| var renderHTML = require('../lib/middleware/renderHTML'); | ||
| describe('renderHTML', function () { | ||
| it('Encoding data', function () { | ||
| var options = { | ||
| indexFile: path.resolve(__dirname, 'mock/index.html') | ||
| }; | ||
| var res = { | ||
| syncData: { | ||
| id: '<script>alert("w");</script>' | ||
| }, | ||
| html: true, | ||
| send: function (html) { | ||
| var res = html.match(/<\/script>/g); | ||
| expect(res.length).toBe(1); | ||
| } | ||
| }; | ||
| var handler = renderHTML(options); | ||
| handler({}, res, function () {}); | ||
| }); | ||
| }); |
+5
-0
@@ -0,3 +1,8 @@ | ||
| # 0.4.1 / 2015-08-24 | ||
| * 修复配置项 `indexFile` 不能使用的问题 | ||
| * 数据同步进行编码处理,防止 XSS | ||
| # 0.4.0 / 2015-06-18 | ||
| * 与 [saber-firework](https://github.com/ecomfe/saber-firework) 配合提供全新的同构体验~ |
@@ -38,3 +38,3 @@ /** | ||
| module.exports = function (options) { | ||
| var render = compile(); | ||
| var render = compile(options); | ||
| return function (req, res, next) { | ||
@@ -56,2 +56,5 @@ if (res.hasOwnProperty('html')) { | ||
| ); | ||
| // 转义危险字符 | ||
| // " ' \ 已经被JSON.stringify 处理了,还剩下一个 / | ||
| data.rebas = data.rebas.replace(/\//g, '\\/'); | ||
| // 附加全局的模版数据 | ||
@@ -58,0 +61,0 @@ data = extend({}, options.templateData, data); |
+1
-1
| { | ||
| "name": "rebas", | ||
| "version": "0.4.0", | ||
| "version": "0.4.1", | ||
| "description": "Node runtime for Saber", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
+1
-1
@@ -20,3 +20,3 @@ Rebas | ||
| /** | ||
| * @fila app.js 应用启动脚本 | ||
| * @file app.js 应用启动脚本 | ||
| */ | ||
@@ -23,0 +23,0 @@ var app = require('rebas'); |
34252
3.5%28
7.69%882
3.28%