首先,不推荐用get方式发送密码。 用post是最好的。
因为,你通过一个连接把用户名和密码发送到后台。 即使密码不是明文,他人也无法取得密码的明文。 但是只要你这个连接成功了,别人就可以带着这个连接到处登录。 密码的明文加密形式完全相同。
如果无论如何都想通过get方式发送的话,试着考虑一下表单附带发送令牌的想法。 此令牌是表单中的隐藏字段,用于在后台根据时间对不同的字符串进行单向加密以保存会话。 一般使用md5方法,表单页面隐藏字段导出其SESSION值。 提交表单时,会附带令牌进行发送。 (
无论令牌是否正确,每次生成页面时都必须重新更新并输出令牌,以确保唯一性。
然后,可以使用js版的md5将密码处理为加密字符串。
这样可以逃避一些不熟悉html的人,但是如果他知道html,只是看html的令牌,自己构成url,还是不行。
因此,这种形式仍然不理想,正式的方式是post发送用户名和密码,或者通过ajax的get方式发送。
js对字符编码涉及escape、encodeURI、encodeURI组件三个函数、对应的三个解码函数、decodeURI、decodeURIComponent
1 .传递参数时必须使用encodeURIComponent,以防止组合的url被特殊字符(如# )截断。
例如:
2 .进行URL跳转时可以整个使用encodeURI
例如,location.href=encodeuri (http://Cang.Baidu.com/do/s? word=百度ct=21 ‘;
3. js使用数据时可以使用escape
例如,检索history的记录。
4 .如果escape编码0-255以外的unicode值,则输出%u****格式,否则escape、encodeURI、encodeURIComponent编码结果相同。