当前位置: 首页 > news >正文

laravel-admin之 浏览器自动填充密码(如果需要渲染数据库密码的话,首先确认数据库密码是否可以逆向解密)

参考
https://blog.51cto.com/u_10401840/5180106

为什么浏览器端保存的密码一直自动写入到$form->password

解决办法

2、在页面进入的时候,默认表单的type值为text;推荐指数:2颗星
5、设置表单的readonly属性;推荐指数:4颗星
6、通过延时定时器;推荐指数:5颗星

<form><input type="text" name="name" readonly="readonly" id="name"><input type="password" name="password" readonly="readonly" id="password"><input type="submit" value="登录">
</form>
<script>setTimeout(function removeReadonly(){var name=document.getElementById("name");var password=document.getElementById("password");name.removeAttribute("readonly");password.removeAttribute("readonly");},20);
</script>

首先先设置input为只读readonly,当页面加载完成后,浏览器不会自动填充内容,也不可以进行编辑。然后我们再用js的定时器延迟一段时间后移除input的只读属性readonly,输入框便可进行再次编辑!这样避免了用户点击两次才弹出键盘的弊端。

laravel-admin 中解决该问题

1禁止编辑

$form->text('name','用户名')->value(‘**’)->readonly();    
$form->password('old_password', trans('admin.old_password'))->value('123456')->readonly();  // ->disable()   

2 添加js 延时取消只读 laravel-admin怎么在表单中添加自定义js

 $form->html (view ('admin.public.test') ); 然后在 "admin.public.test" 这个模板里面写 js 脚本实现你想要的页面效果

页面中

<script>// 延时去掉只读属性,避免密码浏览器自动填充setTimeout(function removeReadonly(){// var name=document.getElementsByName("password");// var name=document.getElementsByClassName("field_password _normal_");document.getElementsByName("password")[0].removeAttribute("readonly");document.getElementsByName("password_confirmation")[0].removeAttribute("readonly");// name.removeAttribute("readonly");// password.removeAttribute("readonly");},60);
</script>

相关文章:

  • 在MySQL中使用VARCHAR字段进行日期筛选
  • 【DevOps-01]】DevOps介绍
  • 【HarmonyOS】装饰器下的状态管理与页面路由跳转实现
  • MYSQL 视图
  • 华为HCIE课堂笔记第十二章 ICMPv6和NDP协议
  • 云计算:OpenStack 分布式架构部署(单控制节点与多计算节点)
  • Visual Studio调试模式下无法使用右键菜单将ppt转换到pdf
  • React 实现 Step组件
  • 少儿编程 中国电子学会图形化编程2022年3月等级考试Scratch二级真题解析(选择题、判断题)
  • 一个可以用于生产环境得PHP上传函数
  • YoloV5改进策略:基于频域多轴表示学习模块|全网首发|高效涨点|代码注释详解
  • 基于多反应堆的高并发服务器【C/C++/Reactor】(中)子线程 WorkerThread的实现 和 线程池ThreadPool的初始化
  • Wnmp本地部署结合内网穿透实现任意浏览器远程访问本地服务
  • 银行十大主题域
  • MySQL之视图案例
  • JS 中的深拷贝与浅拷贝
  • __proto__ 和 prototype的关系
  • CAP理论的例子讲解
  • CentOS 7 修改主机名
  • C学习-枚举(九)
  • Date型的使用
  • ES6--对象的扩展
  • Java小白进阶笔记(3)-初级面向对象
  • mysql innodb 索引使用指南
  • Otto开发初探——微服务依赖管理新利器
  • Python 基础起步 (十) 什么叫函数?
  • React as a UI Runtime(五、列表)
  • select2 取值 遍历 设置默认值
  • spring security oauth2 password授权模式
  • Vue.js源码(2):初探List Rendering
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 关于List、List?、ListObject的区别
  • 关于字符编码你应该知道的事情
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • Java数据解析之JSON
  • kubernetes资源对象--ingress
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​第20课 在Android Native开发中加入新的C++类
  • # Java NIO(一)FileChannel
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (办公)springboot配置aop处理请求.
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (转)iOS字体
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET 依赖注入和配置系统
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net流程开发平台的一些难点(1)
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • @SpringBootApplication 包含的三个注解及其含义