File tree Expand file tree Collapse file tree 1 file changed +47
-1
lines changed
Expand file tree Collapse file tree 1 file changed +47
-1
lines changed Original file line number Diff line number Diff line change 1+ # JSONP 参数加密示例项目
12
3+ 这是一个简单的示例项目,展示了如何在客户端使用 JSONP 请求时对参数进行加密,并在服务器端解密。项目使用了 ` CryptoJS ` 库来实现 AES 加密和解密功能,并通过 ` Express ` 框架搭建了一个简单的服务器来处理 JSONP 请求。
24
5+ ## 项目结构
36
7+ - ** client.html** : 客户端页面,包含一个输入框和按钮,用户输入数据后,数据会被加密并通过 JSONP 请求发送到服务器。
8+ - ** server.js** : 服务器端代码,接收加密的 JSONP 请求,解密数据并返回响应。
9+ - ** package.json** : 项目的依赖配置文件,包含项目所需的依赖项。
410
11+ ## 如何运行
512
6- 这是一个script请求中携带加密参数的例子。
13+ 1 . ** 克隆项目** :
14+ ``` bash
15+ git clone < repository-url>
16+ cd < project-directory>
17+ ```
718
19+ 2 . ** 安装依赖** :
20+ ``` bash
21+ npm install
22+ ```
823
24+ 3 . ** 启动服务器** :
25+ ``` bash
26+ node server.js
27+ ```
928
29+ 4 . ** 打开客户端页面** :
30+ 在浏览器中打开 ` client.html ` 文件。你可以通过文件路径直接打开,或者使用一个本地服务器(如 ` http-server ` )来提供服务。
1031
32+ 5 . ** 使用示例** :
33+ - 在输入框中输入数据(或使用默认生成的随机数据)。
34+ - 点击“发送 JSONP 请求”按钮,数据会被加密并发送到服务器。
35+ - 服务器解密数据后,返回响应并在页面上显示结果。
1136
37+ ## 代码说明
1238
39+ ### 客户端 (` client.html ` )
1340
41+ - ** 加密函数** : 使用 ` CryptoJS.AES.encrypt ` 对输入数据进行加密。
42+ - ** JSONP 请求** : 创建一个 ` <script> ` 标签来发送 JSONP 请求,请求完成后移除该标签。
43+ - ** 回调函数** : 处理服务器返回的响应数据,并将其显示在页面上。
1444
45+ ### 服务器 (` server.js ` )
1546
47+ - ** 解密函数** : 使用 ` CryptoJS.AES.decrypt ` 对接收到的加密数据进行解密。
48+ - ** JSONP 接口** : 接收加密的 JSONP 请求,解密数据后返回响应。
1649
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