从Web安全角度上来说,目前通用的做法是做混淆,说白了就是让浏览器能读懂,但人眼看不懂。有一些安全产品用的就是类似Nginx反向代理的原理来做混淆 解密的。真正的hidden是做不到的。
我现在要在页面放一个卡号,在提交数据的时候用,但是f12能看到卡号,如果要隐藏这个卡号要怎么做
@小光: 你可以选择把卡号encrypt,后台使用时再decrypt;或者直接禁f12
@小光: 你的设计可能不合理。
如果你所说的卡号是用来作为实体的标识,那么,没有理由要对用户隐藏。
@西漠以西: 主要是调用第三方接口,没办法
@小光: 我理解的是:你前台需要接收到用户输入的卡号,然后后台调第三方接口做一些操作是吗?如果是这个需求的话,通用做法是使用jsencrypt等类似的前端插件做加密,后端再进行解密。使用的是RSA非对称算法。
按照央行和支付监管机构的要求,是明确说身份证、银行卡等数据传输和展示中要脱敏加密的。
@安全大可: 我要在页面展示中间几位为*的卡号,提交的加密做过了,提交要用到完整卡号如果用input的value存卡号f12能看到,有什么办法让用户看不到完整的卡号
@小光: 你不想让用户看到,干脆response过来的时候就带*号啊,反正数据是你库里取的。 如果是用户输入的这一刻input状态中数据你要实时加密,那么就参考密码控件的实现方式进行实时加密。但是整个支付行业,除了密码控件硬性要求这么干之外,银行卡和身份证没有这么强的要求必须输入时就实时加密。我在翼支付做了三年安全架构,也从来没听说过行业中有这种需求啊。
@安全大可: 卡号是接口收到的的数据,而且这个完整卡号我页面提交的时候要用到,除了用控件html本身有什么办法存完整卡号不让f12看到么
用户的卡号,就让用户看呀,那是他的东西;不应该用户看的东西,就别传到前台,因为没必要。
就是安全性,不会暴露给其他人,就像我们微信、支付宝的银行卡也不会显示详细卡号
再想想其他办法吧