84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
对表单这一块不太熟,有以下几个疑惑?
1.诸如在登录验证用户名和密码的时候,二者都是同样的方式提交到post到服务器吗?2.get方式会把参数暴露到链接尾部(实际上会通过把key键值加密然后后端再解密校验)?3.现在的表单常规处理方式是什么样的?4.密码校验的时候,诸如在比对密码要求密码中不能是3位同样的连续数字?这个密码会存在本地?还是服务器端来校验
走同样的路,发现不同的人生
登录用户名验证不是一般都一起post到服务器么。
get 方法是会把参数暴露在链接尾部,但是浏览器本身并没有任何加密,如果加密需要自己整。
对于一些表单值,是否有效以及非空等,就要在提交前有提示,提升用户体验。
都要搞,前端是为了用户体验(发起请求前就得知问题),后端是为了安全。
企业级服务的话上https,不要用明文。
假设用户名必须在3位以上;密码再6~32位;验证码4位;1.点击登陆的时候,检测用户名长度大于3,密码长度6~32,验证码长度4;通过往下走,不通过alert;2.组织参数;post到服务器,name pwd code3,服务器接收参数4.验证吗长度是否等于4,不等于4,return 验证码长度异常5.从session中拿code,和参数code是否一致,不一致return 错误6.检测用户名长度,密码长度,不对return 错误7.如果需要对pwd做加密8.从数据库中select name=name,pwd=pwd,有则返回user,没有返回0
GET 是直接把数据在URL里显示;POST 是“掩耳盗铃”,URL看不到,但是用浏览器开发者工具是能看到的;不管以上哪种,“黑客”通过抓包,也是可以在数据传输途中拿到明文的数据;甚至可以对内容进行篡改/劫持,然后再传给服务器,或者直接伪装成服务器返回给你假的信息。如果使用HTTPS,那么数据传输的时候 会先加密,相对安全。至于参数校验,肯定是前后端都需要做的,因为前端的JS校验很容易被绕过的。
get会暴露,post不会。安全点
登录用户名验证不是一般都一起post到服务器么。
get 方法是会把参数暴露在链接尾部,但是浏览器本身并没有任何加密,如果加密需要自己整。
对于一些表单值,是否有效以及非空等,就要在提交前有提示,提升用户体验。
都要搞,前端是为了用户体验(发起请求前就得知问题),后端是为了安全。
企业级服务的话上https,不要用明文。
假设用户名必须在3位以上;密码再6~32位;验证码4位;
1.点击登陆的时候,检测用户名长度大于3,密码长度6~32,验证码长度4;通过往下走,不通过alert;
2.组织参数;post到服务器,name pwd code
3,服务器接收参数
4.验证吗长度是否等于4,不等于4,return 验证码长度异常
5.从session中拿code,和参数code是否一致,不一致return 错误
6.检测用户名长度,密码长度,不对return 错误
7.如果需要对pwd做加密
8.从数据库中select name=name,pwd=pwd,有则返回user,没有返回0
GET 是直接把数据在URL里显示;
POST 是“掩耳盗铃”,URL看不到,但是用浏览器开发者工具是能看到的;
不管以上哪种,“黑客”通过抓包,也是可以在数据传输途中拿到明文的数据;甚至可以对内容进行篡改/劫持,然后再传给服务器,或者直接伪装成服务器返回给你假的信息。
如果使用HTTPS,那么数据传输的时候 会先加密,相对安全。
至于参数校验,肯定是前后端都需要做的,因为前端的JS校验很容易被绕过的。
get会暴露,post不会。安全点