File tree 1 file changed +47
-1
lines changed
1 file changed +47
-1
lines changed Original file line number Diff line number Diff line change
1
+ # JSONP 参数加密示例项目
1
2
3
+ 这是一个简单的示例项目,展示了如何在客户端使用 JSONP 请求时对参数进行加密,并在服务器端解密。项目使用了 ` CryptoJS ` 库来实现 AES 加密和解密功能,并通过 ` Express ` 框架搭建了一个简单的服务器来处理 JSONP 请求。
2
4
5
+ ## 项目结构
3
6
7
+ - ** client.html** : 客户端页面,包含一个输入框和按钮,用户输入数据后,数据会被加密并通过 JSONP 请求发送到服务器。
8
+ - ** server.js** : 服务器端代码,接收加密的 JSONP 请求,解密数据并返回响应。
9
+ - ** package.json** : 项目的依赖配置文件,包含项目所需的依赖项。
4
10
11
+ ## 如何运行
5
12
6
- 这是一个script请求中携带加密参数的例子。
13
+ 1 . ** 克隆项目** :
14
+ ``` bash
15
+ git clone < repository-url>
16
+ cd < project-directory>
17
+ ```
7
18
19
+ 2 . ** 安装依赖** :
20
+ ``` bash
21
+ npm install
22
+ ```
8
23
24
+ 3 . ** 启动服务器** :
25
+ ``` bash
26
+ node server.js
27
+ ```
9
28
29
+ 4 . ** 打开客户端页面** :
30
+ 在浏览器中打开 ` client.html ` 文件。你可以通过文件路径直接打开,或者使用一个本地服务器(如 ` http-server ` )来提供服务。
10
31
32
+ 5 . ** 使用示例** :
33
+ - 在输入框中输入数据(或使用默认生成的随机数据)。
34
+ - 点击“发送 JSONP 请求”按钮,数据会被加密并发送到服务器。
35
+ - 服务器解密数据后,返回响应并在页面上显示结果。
11
36
37
+ ## 代码说明
12
38
39
+ ### 客户端 (` client.html ` )
13
40
41
+ - ** 加密函数** : 使用 ` CryptoJS.AES.encrypt ` 对输入数据进行加密。
42
+ - ** JSONP 请求** : 创建一个 ` <script> ` 标签来发送 JSONP 请求,请求完成后移除该标签。
43
+ - ** 回调函数** : 处理服务器返回的响应数据,并将其显示在页面上。
14
44
45
+ ### 服务器 (` server.js ` )
15
46
47
+ - ** 解密函数** : 使用 ` CryptoJS.AES.decrypt ` 对接收到的加密数据进行解密。
48
+ - ** JSONP 接口** : 接收加密的 JSONP 请求,解密数据后返回响应。
16
49
50
+ ## 依赖项
51
+
52
+ - ** CryptoJS** : 用于加密和解密数据。
53
+ - ** Express** : 用于搭建服务器和处理 HTTP 请求。
54
+
55
+ ## 注意事项
56
+
57
+ - ** 密钥管理** : 在实际项目中,密钥应妥善管理,避免硬编码在代码中。可以使用环境变量或其他安全方式来存储密钥。
58
+ - ** 安全性** : 虽然本示例展示了如何加密数据,但 JSONP 本身存在一些安全风险(如跨站脚本攻击),在实际应用中应谨慎使用。
59
+
60
+ ## 许可证
61
+
62
+ 本项目基于 MIT 许可证开源。
You can’t perform that action at this time.
0 commit comments