javascript - 在 .js 中提交之前加密 HTML 表单(在 jsp 中)
问题描述
我有2个文件:
- send.jsp : 一个带有 java 函数的 .JSP,HTML 和带有 javascript 函数的 java main。
- identify.js : 带有其他 (javascript) 功能的 .JS
在 send.jsp 中有一个带有一些参数的表单 (HTML)。从此文件中调用了一个名为save (identify.js) 的函数。该函数操作表单参数并提交。
现在的问题...我想在提交之前加密表单参数,即在函数save内部。我一直在寻找一种在javascript中加密参数的方法,我尝试了很多代码,但它根本不起作用。
任何人都可以帮助我使用一种适用于 JS 的方法吗?这里的功能保存
谢谢!
function save()
{var formu=document.identifica;
formu.numContrato.value=l_aux.substr(0,9);
formu.numUsuario.value=l_aux.substr(9,9);
formu.GL_numUsuario.value=formu.numUsuario.value;
/* HERE I WOULD LIKE TO ENCRYPT formu */
formu.submit();
return true;
}
解决方案
你有一个XY 问题。
问题是使用 POST,参数是可见的,[第三方攻击者]可以用 POST 交换 GET,或者使用跨脚本攻击。
您提出的解决方案(使用 JavaScript 加密用户输入的内容)容易受到中间人攻击。
对于此问题,您应该使用行业标准解决方案,即 HTTPS。
这需要在你的 HTTP 服务器上配置,它不能在客户端代码级别实现。
或使用跨脚本攻击
XSS 是一个完全不同的问题,您需要在任何接受用户输入并将其输出到 HTML 的代码中解决它。
推荐阅读
- c# - 如何将 int 用于 DateTime
- swift - Swift:Swift doc github 文档工具 - 无法找到正确的路径
- docx - TypeError:参数“元素”的类型不正确(预期为 lxml.etree._Element,得到无类型)
- sql - 计算测量结果的 SSAS 强制聚合
- networking - GNU-Make:以 ssh 作为外壳的远程命令?
- database - 数据建模:员工及其技能
- pandas - 根据 2 个数据帧 (df1, df2) 之间的匹配列更新一个 DF (df1) 的行
- javascript - 如何隐藏加载jquery的下拉菜单
- node.js - Puppeteer nodejs 关闭页面
- node.js - 为什么 nodejs 可能找不到“require”?